Essential Studio for Blazor Release Notes

v18.3.35
October 1, 2020

Accordion

Bug Fixes

  • ## 291664 - The issue with ExpandedIndicies property when using ExpandItem public method has been resolved.
  • ## 289427 - Accordion items can now be rendered based on the conditional statements.
  • ## 157744 - Performance has been increased when rendering other syncfusion components as accordion content.

New Features

  • Introduced a property LoadOnDemand to decide whether all the accordion contents are rendered on initial load and maintained in DOM.

Breaking Changes

  • The type of Duration property within AccordionAnimationExpand and AccordionAnimationCollapse has been changed from double to int.
  • The type of Effect property within AccordionAnimationExpand and AccordionAnimationCollapse has been changed from string to AnimationEffect enumeration type.

Previous

    <SfAccordion>
        <AccordionAnimationSettings>
            <AccordionAnimationCollapse Duration="@duration" Effect="@collapseEffect"></AccordionAnimationCollapse>
            <AccordionAnimationExpand  Duration="@duration" Effect="@expandEffect"></AccordionAnimationExpand>
        </AccordionAnimationSettings>
        ...
    </SfAccordion>
    @code {
        private string ExpandEffect = "FadeIn";
        private string CollapseEffect = "FadeOut";
        private double duration = 300;
    }

Now

    using Syncusion.Blazor;
    <SfAccordion>
        <AccordionAnimationSettings>
            <AccordionAnimationCollapse Duration="@duration" Effect="@collapseEffect"></AccordionAnimationCollapse>
            <AccordionAnimationExpand  Duration="@duration" Effect="@expandEffect"></AccordionAnimationExpand>
        </AccordionAnimationSettings>
        ...
    </SfAccordion>
    @code {
        private AnimationEffect ExpandEffect = AnimationEffect.FadeIn;
        private AnimationEffect CollapseEffect = AnimationEffect.FadeOut;
        private int duration = 300;
    }
  • The type of argument index in the Select method has been changed from double to int.
  • The type of property index within ExpandEventArgs and ExpandedEventArgs has been changed from double to int.

Breaking changes

SfAccordion Comments
ModelType This property is deprecated and will no longer be used.
ExpandedIndicesExpression This property is deprecated and will no longer be used.
HeaderTemplate This property is deprecated. Use AccordionTemplate to provide templates.
ItemTemplate This property is deprecated . Use AccordionTemplate to provide templates.
HtmlAttributes This method is deprecated. Use @attributes in SfAccordion tag.
DataSource This property is deprecated. Alternatively can achieve by iterating AccordionItem.
Items This property is deprecated. Use tag level AccordionItem to render accordion items.
Locale This property is deprecated. Hereafter, the Locale works based on the current culture of the machine.
Animation This property is deprecated and will no longer be work. Use tag level AccordionAnimationCollapse and AccordionAnimationExpand.
AddItem This method is deprecated. Use conditional statement in the AccordionItem to add accordion items.
RemoveItem This method is deprecated. Use conditional statement in the AccordionItem to remove accordion items.
Refresh This method is deprecated. Use StateHasChanged lifecycle method to re-render the accordion.
EnableItem This method is deprecated. Use Disabled property to enable/disable items.
ExpandItem This method is deprecated. Use Expanded property to expand/collapse items.
HideItem This method is deprecated. Use Visible property to hide/show items.
  • The following properties within ExpandEventArgs and ExpandedEventArgs has been deprecated.
    public DOM Content { get; set; }
    public DOM Element { get; set; }

AutoComplete

Breaking Changes

  • You have to set the TValue and TItem with a named model in AutoCompleteEvents component.
  • Now, Locale property is deprecated and will no longer be used. Hereafter, the locale works based on the current culture.
  • Now, Text property is deprecated and will no longer be used. Hereafter, use the Value property.

Previous

<SfAutoComplete TValue="string" TItem="OrdersList">
    <AutoCompleteEvents TValue="string" ValueChange="@onChange"></AutoCompleteEvents>
</SfAutoComplete>

@code {
    private IEnumerable<Order> OrdersList

    private void onChange(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string> args)
    {
        var itemData = JsonConvert.DeserializeObject<DateFormat>(args.ItemData != null ? args.ItemData.ToString() : "");
        var itemText = itemData.Text;
    }
}

Now

<SfAutoComplete TValue="string" TItem="OrdersList">
    <AutoCompleteEvents TValue="string" TItem="OrdersList" ValueChange="@onChange"></AutoCompleteEvents>
</SfAutoComplete>

@code {
    private IEnumerable<Order> OrdersList

    private void onChange(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string, OrdersList> args)
    {
        var itemText = args.ItemData.Text;
    }
}
  • Now, the ChangedEventArgs, SelectEventArgs, ActionCompleteEventArgs, CustomValueSpecifierEventArgs classes are generic.
Previous Event Name Current Event Name
ChangedEventArgs ChangedEventArgs<TValue, TItem>
SelectEventArgs SelectEventArgs<TItem>
ActionCompleteEventArgs ActionCompleteEventArgs<TItem>
CustomValueSpecifierEventArgs CustomValueSpecifierEventArgs<TItem>

Bug Fixes

  • ## 292704, ## 293722 - The issue with “filtering returns wrong results in the autocomplete, when Highlight is enabled in the item template”. Now you can call the HighLightSearch public method within the Item template with specific arguments.
<SfAutoComplete TValue="string" @ref="auto" TItem="EmployeeData" Highlight="@highlight"  Placeholder="Select a customer" DataSource="@Data">
    <AutoCompleteTemplates TItem="EmployeeData">
        <ItemTemplate>
            <div>
                <div class="ename"> @((MarkupString)auto.HighLightSearch(context.FirstName, true, Syncfusion.Blazor.DropDowns.FilterType.Contains)) </div>
            </div>
        </ItemTemplate>
    </AutoCompleteTemplates>
    <AutoCompleteFieldSettings Value="FirstName"></AutoCompleteFieldSettings>
</SfAutoComplete>

@code {

    SfAutoComplete<string, EmployeeData> auto;
}

Barcode

Bug Fixes

  • ## 285010 - Culture issue with barcode was now fixed.

Chart

Bug Fixes

  • ## 290866 - Console error thrown for specific data in lasso selection has been fixed.

Chips

Breaking Changes

  • Tag for rendering Chips component is changed from SfChipList to SfChip.
  • The properties EnablePersistence, Locale, EnableHtmlSanitizer are deprecated and will no longer be used.
  • Inline properties like AvatarIconCss, AvatarText, LeadingIconCss, LeadingIconUrl, Text, TrailingIconUrl, TrailingIconCss for rendering single chip are removed from the root tag. ChipItem tag must be used even for rendering a chip.
  • AvatartIconCss & AvatarText property of the ChipItem (child component) has been removed and use LeadingIconCss & LeadingText property respectively.

Previous

<SfChipList Text="Apple" LeadingIconCss="e-logo">
</SfChipList>

Now

<SfChip>
    <ChipItems>
       <ChipItem Text="Apple" LeadingIconCss="apple-logo"></ChipItem> 
    </ChipItems>
</SfChip>
  • Find method has been renamed as FindChip and this method will now only accept string values (value of the chip component whose model id required) and the value returned will be of ChipItem type instead of ChipDataArgs type.
  • GetSelectedChips method will now return values as list of ChipItem instead of object type.
  • Select method is renamed as SelectChips which will now accept string[] values indicating the chip item with the provided values are to be selected.
  • Add method is now renamed as AddChip and will now accept values in ChipItem type instead of ChipModel type.
Previous Method (Before v18.3.0.35) Current Method (From v18.3.0.35)
public async Task<ChipDataArgs> Find(object chipIndex) public ChipItem FindChip(string value)
public async Task<Object> GetSelectedChips() public List<ChipItem> GetSelectedChips()
public async Task Remove(object chipIndex) public void RemoveChips(string[] removableChipValues)
public async Task Select(object chipIndex) public void SelectChips(string[] selectableChipValues)
public void Add(ChipModel item) public void AddChip(ChipItem item)
  • SelectedItems, SelectedItem and ChipDataArgs model class are now removed completely.
  • ClickEventArgs and DeleteEventArgs are now removed. OnClick, OnBeforeClick and OnDelete events will have common arguments of ChipEventArgs type.
Events Previous Type (Before v18.3.0.35) Current Type (From v18.3.0.35)
OnClick ClickEventArgs ChipEventArgs
OnBeforeClick ClickEventArgs ChipEventArgs
OnDelete DeleteEventArgs ChipEventArgs

Circular Gauge

Breaking Changes

Enumeration

  • The enumeration type GaugeTheme is changed as Theme.

Properties

  • The following properties are deprecated in the circular gauge component.
Property Name Comments
UseGroupingSeparator This property is deprecated. Use EnableGroupingSeparator to achieve this functionality.
EnablePersistence This property is deprecated.
EnableRtl This property is deprecated.
Locale This property is deprecated. Hereafter, locale works based on the current culture set in the application.
  • The data type of the below properties are changed.

In CircularGaugeAxis class,

Property Name Previous Type Current Type
CircularGaugeAxis.RoundingPlaces double int
CircularGaugeAxis.TabIndex double int

In CircularGaugeTooltipSettings class,

Property Name Previous Type Current Type
CircularGaugeRangeTooltipSettings.Template string RenderFragment

In CircularGaugeAnnotationTooltipSettings class,

Property Name Previous Type Current Type
CircularGaugeAnnotationTooltipSettings.Template string RenderFragment

Events

  • The data type of event argument is changed and listed below.
Previous Type Current Type
ITooltipRenderEventArgs TooltipRenderEventArgs
IResizeEventArgs ResizeEventArgs
IRadiusCalculateEventArgs RadiusCalculateEventArgs
IPrintEventArgs PrintEventArgs
IPointerDragEventArgs PointerDragEventArgs
IMouseEventArgs MouseEventArgs
ILoadedEventArgs LoadedEventArgs
ILegendRenderEventArgs LegendRenderEventArgs
IAxisLabelRenderEventArgs AxisLabelRenderEventArgs
IAnnotationRenderEventArgs AnnotationRenderEventArgs
IAnimationCompleteEventArgs AnimationCompleteEventArgs

Methods

  • We have changed the argument type of the SetRangeValue method .
Arguments Previous Type Current Type
axisIndex double int
rangeIndex double int
  • We have changed the argument type of the SetPointerValue method.
Arguments Previous Type Current Type
axisIndex double int
pointerIndex double int
  • We have changed the argument type of the SetAnnotationValue method.
Arguments Previous Type Current Type
axisIndex double int
annotationIndex double int
  • We have changed the argument of the Print method.
Arguments Comments
id This argument is removed.
  • We have changed the argument type of the Export method.
Arguments Previous Type Current Type
orientation object PdfPageOrientation

Previous

<SfCircularGauge @ref="gauge" AllowPdfExport=true AllowImageExport=true>
    ...
</SfCircularGauge>
@code {
    SfCircularGauge gauge;
    private async Task Export()
    {
        await gauge.Export(ExportType.PDF, "FileName", "Portrait");
    }
}

Now

<SfCircularGauge @ref="gauge" AllowPdfExport=true AllowImageExport=true>
    ...
</SfCircularGauge>
@code {
    SfCircularGauge gauge;
    private async Task Export()
    {
        await gauge.Export(ExportType.PDF, "FileName", Syncfusion.PdfExport.PdfPageOrientation.Portrait);
    }
}

ComboBox

Breaking Changes

  • You have to set the TValue and TItem with a named model in ComboBoxEvents component.
  • Now, Locale property is deprecated and will no longer be used. Hereafter, the locale works based on the current culture.
  • Now, Text property is deprecated and will no longer be used. Hereafter, use the Value and Index property.
  • Now, provided two-way binding property called as an Index to set an index of the DataSource.

Previous

<SfComboBox TValue="string" TItem="OrdersList">
    <ComboBoxEvents TValue="string" ValueChange="@onChange"></ComboBoxEvents>
</SfComboBox>

@code {
    private IEnumerable<Order> OrdersList

    private void onChange(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string> args)
    {
        var itemData = JsonConvert.DeserializeObject<DateFormat>(args.ItemData != null ? args.ItemData.ToString() : "");
        var itemText = itemData.Text;
    }
}

Now

<SfComboBox TValue="string" TItem="OrdersList">
    <ComboBoxEvents TValue="string" TItem="OrdersList" ValueChange="@onChange"></ComboBoxEvents>
</SfComboBox>

@code {
    private IEnumerable<Order> OrdersList

    private void onChange(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string, OrdersList> args)
    {
        var itemText = args.ItemData.Text;
    }
}
  • Now, the ChangedEventArgs, SelectEventArgs, ActionCompleteEventArgs, CustomValueSpecifierEventArgs classes are generic.
Previous Event Name Current Event Name
ChangedEventArgs ChangedEventArgs<TValue, TItem>
SelectEventArgs SelectEventArgs<TItem>
ActionCompleteEventArgs ActionCompleteEventArgs<TItem>
CustomValueSpecifierEventArgs CustomValueSpecifierEventArgs<TItem>
  • When enabled the AllowCustom, the Value field and Value must be string type. Otherwise, you need to send the Item in CustomValueSpecifier event.
<SfComboBox TValue="int" TItem="Countries" DataSource="@CountryList">
    <ComboBoxEvents TValue="int" TItem="Countries" CustomValueSpecifier="@customValue"></ComboBoxEvents>
    <ComboBoxFieldSettings Text="Name" Value="Code"></ComboBoxFieldSettings>
</SfComboBox>

@code {
    private IEnumerable<Countries> CountryList

    private void customValue(CustomValueSpecifierEventArgs<Countries> args)
    {
        args.Item = new Countries() { Code = 22, Name = args.Text };
    }
    public class Countries
    {
        public string Name { get; set; }
        public int Code { get; set; }
    }
}

Bug Fixes

  • ## 291686, ## 291885 - Issue with “combobox close event is not fired when click on the document” has been resolved.
  • ## 292174 - Issue with “exception is occurred when bind the interface type to TItem” has been resolved.

Common

New Features

  • Provided .NET 5.0 Release Candidate (RC1) compatibility support for Syncfusion Blazor components.

Context Menu

New Features

  • Provided multi-level tag directive support for Item model generation in ContextMenu.
  • Provided template support for rendering custom menu items.

Breaking Changes

  • ContextMenu container DOM element class name was changed from e-contextmenu-wrapper to e-contextmenu-container.
  • ContextMenuEvents component name was changed to MenuEvents, which is used to initialize the events.
  • The following methods are deprecated.
Method Description
InsertAfter and InsertBefore You can directly insert the new items in the Items collection.
RemoveItems You can directly remove the items from the Items collection.
EnableItems You can enable/disable using the item Disabled property.
HideItems and ShowItems You can hide/show using the item Hidden property.
Refresh Use StateHasChanged lifecycle method to re-render the ContextMenu.

Dashboard Layout

Bug Fixes

  • ## 151323 - The issue with “Dashboard layout not working when adding panel using RenderFragment” has been resolved.

Deprecated

Properties

Following properties are deprecated and will no longer be used.

Class Property
SfRichTextEditor BackgroundColor
SfRichTextEditor FontColor
SfRichTextEditor FontFamily
SfRichTextEditor FontSize
SfRichTextEditor Format
SfRichTextEditor IframeSettings
SfRichTextEditor InlineMode
SfRichTextEditor InsertImageSettings
SfRichTextEditor Locale
SfRichTextEditor PasteCleanupSettings
SfRichTextEditor QuickToolbarSettings
SfRichTextEditor TableSettings
SfRichTextEditor ToolbarSettings
SfRichTextEditor ValueTemplate
RichTextEditorQuickToolbarSettings Text
RichTextEditorToolbarSettings ItemConfigs

Following properties are deprecated. We can achieve same functionality with newly provided properties.

Class Property Comments
SfRichTextEditor Formatter Use RichTextEditorMarkdownOptions tag directive to achieve the functionality.
SfRichTextEditor HtmlAttributes Use @attributes to set additional attributes for Rich Text Editor element.
SfRichTextEditor KeyConfig Use KeyConfigure property to achieve the functionality.
RichTextEditorFormat Types Use Items property to achieve the functionality.
RichTextEditorImageSettings Resize Use EnableResize property to achieve the functionality.
RichTextEditorInlineMode OnSelection Use ShowOnSelection property to achieve the functionality.
RichTextEditorPasteCleanupSettings AllowedStyleProps Use AllowedStyleProperties property to achieve the functionality.
RichTextEditorPasteCleanupSettings DeniedAttrs Use DeniedAttributes property to achieve the functionality.
RichTextEditorTableSettings Resize Use EnableResize property to achieve the functionality.

Methods

Following methods are deprecated and will no longer be used.

  • GetContent
  • GetHtml
  • SanitizeHtml
  • SelectRange

Events

RichTextEditorEvents Comments
OnSanitizeHtml This event is deprecated and will no longer be used.
Resizing This event is deprecated and will no longer be used.
OnImageUploading This event is deprecated and will no longer be used. Use BeforeUploadImage event to achieve the functionality.

Event Models

Following event model classes are deprecated and will no longer be used.

  • BeforeSanitizeHtmlArgs
  • SanitizeSelectors
  • SanitizeRemoveAttrs

Following event model properties are deprecated and will no longer be used.

Event Class Property
ActionBeginEventArgs Name
ActionBeginEventArgs OriginalEvent
ActionCompleteEventArgs Event
ActionCompleteEventArgs Name
AfterImageDeleteEventArgs Element
BeforeQuickToolbarOpenArgs TargetElement
BlurEventArgs Event
BlurEventArgs Name
ChangeEventArgs Name
DestroyedEventArgs Cancel
DestroyedEventArgs Name
DialogOpenEventArgs Container
DialogOpenEventArgs Element
DialogOpenEventArgs Name
DialogOpenEventArgs Target
DialogCloseEventArgs Container
DialogCloseEventArgs Element
DialogCloseEventArgs Event
DialogCloseEventArgs Name
DialogCloseEventArgs Target
FocusEventArgs Event
FocusEventArgs Name
ImageFailedEventArgs E
ImageFailedEventArgs Name
ImageSuccessEventArgs E
ImageSuccessEventArgs Name
QuickToolbarEventArgs Element
QuickToolbarEventArgs Name
ResizeArgs Event
ToolbarClickEventArgs Name
ToolbarClickEventArgs OriginalEvent
ToolbarUpdateEventArgs Name

Diagram

New Features

  • 276871, F154206 - Support was added for the customization of individual symbol palette symbols.

Bug Fixes

  • ## 285793 - The issue with “Bring to front does not work for group node” has been fixed.
  • ## 264082 - The issue of “Sometimes difficult to make the connection to a port when set ConnectToNearByNode constraints” has been fixed.

Dialog

Bug Fixes

  • 292738,292045, 293758 - The issue with “Task cancelled exception thrown in the dialog component” has been resolved.

Document Editor

Breaking Changes

Event args type of OnToolbarClick was changed from Syncfusion.Blazor.Navigations.ClickEventArgs to Syncfusion.Blazor.DocumentEditor.ClickEventArgs.

New Features

  • ## 243495 - Added support for automatic text color.
  • ## 279355 - Added support to enable properties pane in read only mode.
  • ## 260677, ## 277329 - Added support for cropping images in document editor.
  • ## 256210, ## 259583, ## 280989, ## 282228 - Added support for all Caps property for character.
  • ## 287831 - Added public API to show spell check dialog.
  • ## 284434 - Spell checker performance was optimized.
  • ## 290423 - Added resize API in document editor container.
  • ## 243495, ## 247427, ## 248347, ## 252755, ## 254094, ## 254684, ## 256926, ## 248347, ## 260233, ## 262638, ## 273681, ## 155458, ## 278038 - Added support to preserve content control feature.

Bug Fixes

  • ## 284837 - Custom tool bar item click event issue in DocumentEditorContainer is resolved.
  • ## 283180 - Resolved font family no records found issue.
  • ## 282303 - Paste dropdown now hides when creating or opening new document.
  • ## 280951 - Table content renders properly now for table with merged cells.
  • ## 280973 - Resolved script while getting bookmarks from selection.
  • ## 284486 - Comment Tab in pane is removed when enable comment is false.
  • ## 283344 - Resolved the initial delay in pasting images.
  • ## 282707,## 284035 - Resolved bullet list exporting issue in MAC devices.
  • ## 284412 - Comment mark is now deleted properly when comment is deleted.
  • ## 281339 - Resolved RTL issue when editing a list content.
  • ## 276616 - Paragraph maintained when inserting text in whole paragraph similar to MS Word.
  • ## 284775 - Resolved table resize enabled issue in protected mode.
  • ## 282504 - Resolved footer content overlapping issue when inserting image and table in footer.
  • ## 286986 - Table properties are now written properly on html exporting.
  • ## 286520 - Inserted text selection now applied properly after applying style.
  • ## 287740 - Paper size dropdown in page setup dialog now updated for document with A4 format.
  • ## 282515 - Resolved error on exporting a document which contains restart numbering.
  • ## 287633 - Table containing alignment is now exporting properly with alignment.
  • ## 286469 - Resolved table formatting issue when table splits to multiple pages.
  • ## 285747 - Resolved script error on server side export.
  • ## 284704 - Resolved script error on changing the footer distance.
  • ## 283529 - Resolved table layout issue when table is center aligned.
  • ## 286474 - Resolved table re layout issue when table have left indent value.
  • ## 289186 - Resolved issue on exporting a text box with line format none.
  • ## 288198 - Font family customization is also available on modify style dialog now.
  • ## 289187 - Resolved table border rendering issue when table have merged cells.
  • ## 287255 - Resolved page unresponsive error occurs on mail merge.
  • ## 286474, ## 288778 - Resolved script error thrown on choosing fill color.
  • ## 155699 - Image resize history is now called before the content change event.
  • ## 156086 - Resolved table layout issue on opening a saved document with merged cells.
  • ## 148494 - Resolved script error on destroying the container.
  • ## 289186 - Resolved layout issue on exporting a text box.
  • ## 289172 - Resolved script error when two or more server request is passed at same time.
  • ## 287775 - Resolved script error on saving a document with form field.
  • ## 289902 - Custom page height and width is now updating properly in page setup dialog.
  • ## 289902 - Resolved review pane enabled issue when track changes is disabled.
  • ## 157264 - Resolved script error when finding a text with curly braces.
  • ## 290625 - Tick icon in line spacing is aligned properly now.
  • ## 291882 - Now,Text contents were not transformed to upper case while copying.
  • ## 287582 - Apply shading property for form field is now maintained also on exported document.
  • ## 280951 - Table contents were not rendered on footer region now.
  • ## 287195 - Resolved script error throw while deleting large text inside a table.
  • ## 155699 - Resolved selection change event gets triggered before created event of document editor issue.
  • ## 290271 - Resolved some elements are not created with unique id in document editor component issue.
  • ## 288253 - Exported document with comments from editor contain initials property in file level now.
  • ## 287740 - Landscape Orientation not updated properly in page setup dialog now.
  • ## 291080, ## 157393 - Restrict editing property works when setting on component creation now.

Breaking Changes

  • Toggle method was changed from asynchronous to synchronous. Now you can access without await.

Breaking Changes

  • You have to set the TValue and TItem with a named model in DropDownListEvents component.
  • Now, Locale property is deprecated and will no longer be used. Hereafter, the locale works based on the current culture.
  • Now, Text property is deprecated and will no longer be used. Hereafter, use the Value and Index property.
  • Now, provided two-way binding property called as an Index to set an index of the DataSource.

Previous

<SfDropDownList TValue="string" TItem="OrdersList">
    <DropDownListEvents TValue="string" ValueChange="@onChange"></DropDownListEvents>
</SfDropDownList>

@code {
    private IEnumerable<Order> OrdersList

    private void onChange(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string> args)
    {
        var itemData = JsonConvert.DeserializeObject<DateFormat>(args.ItemData != null ? args.ItemData.ToString() : "");
        var itemText = itemData.Text;
    }
}

Now

<SfDropDownList TValue="string" TItem="OrdersList">
    <DropDownListEvents TValue="string" TItem="OrdersList" ValueChange="@onChange"></DropDownListEvents>
</SfDropDownList>

@code {
    private IEnumerable<Order> OrdersList

    private void onChange(Syncfusion.Blazor.DropDowns.ChangeEventArgs<string, OrdersList> args)
    {
        var itemText = args.ItemData.Text;
    }
}
  • Now, the ChangedEventArgs, SelectEventArgs, ActionCompleteEventArgs classes are generic.
Previous Event Name Current Event Name
ChangedEventArgs ChangedEventArgs<TValue, TItem>
SelectEventArgs SelectEventArgs<TItem>
ActionCompleteEventArgs ActionCompleteEventArgs<TItem>

Bug Fixes

  • ## 280501 - Issue with “complex properties value goes empty in the value template” has been resolved.
  • ## 290652 - Issue with “value maintained in the local storage while binding on initial load” has been resolved.
  • ## 289645 - Issue with “value is not updated while adding the new item using AddItem method” has been resolved.

Grid

Bug Fixes

  • ## 292763 - Not able to save the selected DatePicker value in Grid by pressing Enter Key is resolved.
  • ## 287902, ## 291792, ## 292665, ## 292862 - Autofil Feature is not working in Grid is fixed.
  • ## 292173, ## F157585 - Issue with changing grid datasource dynamically with empty collection is solved.
  • ## 291719, ## F157572, ## 292315, ## 292552, ## 293199, ## 294658, ## 294662 - Exception throws while defining grid with auto-generated columns is fixed.
  • ## 289442 - Exception occur when defining the GridColumn Width as auto is resolved.
  • ## 291738 - OnActionComplete event not triggered when hide columns through ColumnChooser in ColumnMenu is fixed.
  • ## 293894, ## F157953, ## 294074, ## 294845, ## 294872, ## F157963 - Exception is thrown while saving the changes in grid with CommandColumns/Column Template is fixed.
  • ## 293725 - Exception occur when opening the FilterMenu for second time is solved.
  • ## 285724 - Exception occurs when focusing Grid immediately once Grid rendered is resolved.
  • ## 289415, ## F156939 - Delete method is not auto generated (Scaffolded) for DataGrid is resolved.

New Features

  • ## F157820 - Provided a method to focus grid. Use FocusAsync method to focus grid.

Breaking Changes

  • In ColumnMenuClickEventArgs class, below properties types are changed.
Property Previous Type Current Type
Element DOM ElementReference
Event Navigations.EventArgs System.EventArgs
  • In ContextMenuClickEventArgs class, below properties types are changed.
Property Previous Type Current Type
Element DOM ElementReference
Items List<ContextMenuItem> | ` List`  
ContextMenuObj SfContextMenu<Navigations.ContextMenuItem> | SfContextMenu<Navigations.MenuItem>  
  • In ContextMenuOpenEventArgs class, below property type changed.
Property Previous Type Current Type
Element DOM ElementReference

In-place Editor

Breaking Changes

Following model classes are moved into Syncfusion.Blazor.InplaceEditor namespace.

  • BackgroundColorModel
  • BlurEventArgs
  • FocusEventArgs
  • FontColorModel
  • FontFamilyModel
  • FontSizeModel
  • FormatModel
  • IFrameSettingsModel
  • ImageSettingsModel
  • InlineModeModel
  • PasteCleanupSettingsModel
  • QuickToolbarSettingsModel
  • RichTextEditorModel
  • ToolbarSettingsModel
  • TableSettingsModel

Kanban

Breaking Changes

  • The ShowAddButton property is deprecated. Hereafter, use the AllowAdding property to enable add button in columns.
  Deprecated API New API
API ShowAddButton AllowAdding

Previous

    <KanbanColumn ShowAddButton="true"></KanbanColumn>

Now

    <KanbanColumn AllowAdding="true"></KanbanColumn>
  • The column KeyField and stacked header KeyFields string type is changed to list of string.
Property Previous Type New Type
KeyField string List<string>
KeyFields string List<string>

Previous

    <KanbanColumn KeyField="Open" ShowAddButton="true"></KanbanColumn>
    ...
    <KanbanStackedHeader KeyFields="InProgress, Review"></KanbanStackedHeader>

Now

    <KanbanColumn KeyField=@(new List<string>() { "Open" }) AllowAdding="true"></KanbanColumn>
    ...
    <KanbanStackedHeader KeyFields=@(new List<string>() {"InProgress", "Review" })>
    </KanbanStackedHeader>
  • Dialog Model property is deprecated and will no longer be used. Now, we can use Model properties as direct properties in DialogSettings component like AllowDragging, AnimationSettings, CloseOnEscape, CssClass, EnableResize, Height, IsModal, MinHeight, Position, ShowCloseIcon, Target, Width and ZIndex.

Previous

    <KanbanDialogSettings Model="@dialogModel"></KanbanDialogSettings>
    @code{
        private KanbanDialogModel dialogModel = new KanbanDialogModel()
        {
            AllowDragging = true,
            AnimationSettings = new DialogAnimationSettings() { Delay = 1000, Duration = 1000, Effect = DialogEffect.FlipYLeft },
            CloseOnEscape = false,
            CssClass = "e-red",
            EnableResize = true,
            IsModal = false,
            Position = new DialogPositionData() { X = "left", Y = "top" },
            ShowCloseIcon = false,
            Target = ".e-kanban",
            Width = "500",
            ZIndex = 1005
        };
    }

Now

    <KanbanDialogSettings AllowDragging="@AllowDragging" AnimationSettings="@AnimationSettings" CloseOnEscape="@CloseOnEscape" CssClass="@CssClass" EnableResize="@EnableResize" IsModal="@IsModal" Position="@DialogPosition" ShowCloseIcon="@ShowCloseIcon" Target="@Target" Width="@Width" ZIndex="@ZIndex">
        </KanbanDialogSettings>
    @code {
        private bool AllowDragging { get; set; } = true;
        private DialogAnimationSettings AnimationSettings { get; set; } = new DialogAnimationSettings() { Delay = 1000, Duration = 1000, Effect = DialogEffect.FlipYLeft };
        private bool CloseOnEscape { get; set; } = true;
        private string CssClass { get; set; } = "e-red";
        private bool EnableResize { get; set; } = true;
        private bool IsModal { get; set; } = false;
        private DialogPositionData DialogPosition { get; set; } = new DialogPositionData() { X = "left", Y = "top" };
        private bool ShowCloseIcon { get; set; } = false;
        private string Target { get; set; } = ".e-kanban";
        private string Width { get; set; } = "500";
        private int ZIndex { get; set; } = 1005;
    }
  • The AddCard, UpdateCard and DeleteCard method argument type is changed from object to generic type.
Method Name Previous Argument Type New Argument Type
AddCard object TValue
UpdateCard object TValue
DeleteCard object TValue
  • Now, the ActionEventArgs class name is generic and AddedRecords, ChangedRecords and DeletedRecords property type is changed from object to IEnumerable<TValue>. Target property is deprecated and included on Exception property.

Previous

public class ActionEventArgs
{
    .....
    public object AddedRecords { get; set; }
    public object ChangedRecords { get; set; }
    public object DeletedRecords { get; set; }
}

Now

public class ActionEventArgs<TValue>
{
    .....
    public IEnumerable<TValue> AddedRecords { get; set; }
    public IEnumerable<TValue> ChangedRecords { get; set; }
    public IEnumerable<TValue> DeletedRecords { get; set; }
}
  • Now, the CardClickEventArgs class is generic. Data property type is changed from object to TValue, Event and Element properties are deprecated.

Previous

public class CardClickEventArgs
{
    .....
    public object Data { get; set; }
}

Now

public class CardClickEventArgs<TValue>
{
    .....
    public TValue Data { get; set; }
}
  • Now, the CardRenderedEventArgs class is generic. Data property type is changed from object to TValue and Name property is deprecated.

Previous

public class CardRenderedEventArgs
{
    .....
    public object Data { get; set; }
}

Now

public class CardRenderedEventArgs<TValue>
{
    .....
    public TValue Data { get; set; }
}
  • Now, the DialogCloseEventArgs class is generic. Data property type is changed from object to TValue and Name property is deprecated.

Previous

public class DialogCloseEventArgs
{
    .....
    public object Data { get; set; }
}

Now

public class DialogCloseEventArgs<TValue>
{
    .....
    public TValue Data { get; set; }
}
  • Now, the DialogEventArgs class name changed to DialogOpenEventArgs class which is generic. Data property type is changed from object to TValue and Name property is deprecated.

Previous

public class DialogEventArgs
{
    .....
    public object Data { get; set; }
}

Now

public class DialogOpenEventArgs<TValue>
{
    .....
    public TValue Data { get; set; }
}
  • Now, the DragEventArgs class is generic. Data property type is changed from IEnumerable<object> to List<TValue>, Element and Event properties are deprecated.

Previous

public class DragEventArgs
{
    .....
    public IEnumerable<object> Data { get; set; }
}

Now

public class DragEventArgs<TValue>
{
    .....
    public List<TValue> Data { get; set; }
}
  • Now, the QueryCellInfoEventArgs class is generic. Data property type is changed from object to List<SwimlaneSettingsModel>.

Previous

public class QueryCellInfoEventArgs
{
    .....
    public object Data { get; set; }
}

Now

public class QueryCellInfoEventArgs<TValue>
{
    .....
    public List<SwimlaneSettingsModel> Data { get; set; }
}
  • ColumnsModel and StackedHeadersModel class name changed to ColumnModel and StackedHeaderModel.
Previous Model Name Current Model name
ColumnsModel ColumnModel
StackedHeadersModel StackedHeaderModel

Previous

        <KanbanColumns>
            @foreach (ColumnsModel item in columnData)
            {
                <KanbanColumn HeaderText="@item.HeaderText" KeyField="@item.KeyField">
                </KanbanColumn>
            }
        </KanbanColumns>
        <KanbanStackedHeaders>
           @foreach (StackedHeadersModel item in stackedHeaderData)
            {
                <KanbanStackedHeader Text="@item.Text" KeyFields="@item.KeyFields">
                </KanbanStackedHeader>
            }
        <KanbanStackedHeaders>
  
    @code{
        private List<ColumnsModel> columnData = new List<ColumnsModel>() {
            new ColumnsModel(){ HeaderText= "In Progress", KeyField= "InProgress" }
        };
        private List<StackedHeadersModel> stackedHeaderData = new List<StackedHeadersModel>() {
            new StackedHeadersModel(){ Text= "Development Phase", KeyFields= "InProgress, Review" }
        };
    }

Now

        <KanbanColumns>
            @foreach (ColumnModel item in columnData)
            {
                <KanbanColumn HeaderText="@item.HeaderText" KeyField="@item.KeyField"></KanbanColumn>
            }
        </KanbanColumns>
        <KanbanStackedHeaders>
             @foreach (StackedHeaderModel item in stackedHeaderData)
            {
                <KanbanStackedHeader Text="@item.Text" KeyFields="@item.KeyFields">
                </KanbanStackedHeader>
            }
        <KanbanStackedHeaders>
   
    @code {
        private List<ColumnModel> columnData = new List<ColumnModel>() {
            new ColumnModel(){ HeaderText= "In Progress", KeyField= new List<string>() { "InProgress" }
        };
        private List<StackedHeaderModel> stackedHeaderData = new List<StackedHeaderModel>() {
            new StackedHeaderModel(){ Text= "Development Phase", KeyFields= new List<string>() { "InProgress", "Review" } }
        };
    }
  • Following property type changed on ColumnModel class and included on Visible property.

Previous

public class ColumnModel
{
    .....
    public string KeyField { get; set; } = null;
    public bool ShowAddButton { get; set; } = false;
}

Now

public class ColumnModel
{
    .....
    public List<string> KeyField { get; set; }
    public bool AllowAdding { get; set; }
    public bool Visible { get; set; } = true;
}
  • Following property type changed on StackedHeaderModel class.

Previous

public class StackedHeaderModel
{
    .....
    public string KeyFields { get; set; } = null;
}

Now

public class StackedHeaderModel
{
    .....
    public List<string> KeyFields { get; set; }
}
  • The CardSettingsModel, DialogSettingsModel and KanbanDialogModel class is deprecated.

  • The Drag event is deprecated and will no longer be used.

  • The GetSwimlaneData method return type changed from object to List<TValue>.

  • The GetColumnData method return type changed from object to List<TValue> which arguments key type changed from string to List<string> and dataSource type changed from object to IEnumerable<TValue>.

Method Name Previous Return Type New Return Type Argument Name Previous Type New Type
GetSwimlaneData object List<TValue> - - -
GetColumnData object List<TValue> Key
dataSource
string
object
List<string>
IEnumerable<TValue>
  • The GetSelectedCards method is deprecated and will no longer be used.
  • The Refresh method is deprecated and will no longer be used.
  • The Locale is deprecated and will no longer be used. Hereafter, the locale works based on the current culture.
  • The DeleteColumn method is deprecated and will no longer be used. Hereafter, use the property binding to delete column dynamically.
  • The AddColumn method is deprecated and will no longer be used. Hereafter, use the property binding to add column dynamically.
  • The ShowColumn method is deprecated and will no longer be used. Hereafter, use the column Visible property to show the column.
  • The HideColumn method is deprecated and will no longer be used. Hereafter, use the column Visible property to hide the column.

New Features

  • Dynamically, show or hide the Kanban columns using column Visible property.
  • Dialog editing custom field support is provided which have following KanbanDialogSettingsField component properties.
Property Name Type
Key string
Text string
Type DialogFieldType
  • Added generic type classes DataBindingEventArgs and DataBoundEventArgs which provided the following properties.
Property Name Type
Count int
Result List<TValue>

Bug Fixes

  • ## F157933 - “DragEventArgs and CardClickEventArgs class data property type changed from object to generic type” issue is resolved.

Linear Gauge

Breaking Changes

Enumeration

  • The enumeration type LinearGaugeTheme is changed as Theme.

Properties

  • The following properties are deprecated in the linear gauge component.
Property Name Comments
UseGroupingSeparator This property is deprecated. Use EnableGroupingSeparator to achieve this functionality.
EnablePersistence This property is deprecated.
EnableRtl This property is deprecated.
Locale This property is deprecated. Hereafter, locale works based on the current culture set in the application.
  • The data type of the below properties are changed.
Property Name Previous Type Current Type
TabIndex double int
LinearGaugeAnnotation.AxisIndex double int

Events

The data type of event argument is changed and listed below.

Previous Type Current Type
IValueChangeEventArgs ValueChangeEventArgs
ITooltipRenderEventArgs TooltipRenderEventArgs
IResizeEventArgs ResizeEventArgs
IPrintEventArgs PrintEventArgs
IPointerDragEventArgs PointerDragEventArgs
IMouseEventArgs MouseEventArgs
ILoadedEventArgs LoadedEventArgs
ILoadEventArgs LoadEventArgs
IAxisLabelRenderEventArgs AxisLabelRenderEventArgs
IAnnotationRenderEventArgs AnnotationRenderEventArgs
IAnimationCompleteEventArgs AnimationCompleteEventArgs

Methods

  • We have changed the argument type of the SetPointerValue method.
Arguments Previous Type Current Type
axisIndex double int
pointerIndex double int
  • We have changed the argument type of the SetAnnotationValue method.
Arguments Previous Type Current Type
axisIndex double int
annotationIndex double int
  • We have changed the arguments of Print method.
Arguments Comments
id This argument is removed.
  • We have changed the argument type of the Export method.
Arguments Previous Type Current Type
orientation object PdfPageOrientation

Previous

<SfLinearGauge @ref="gauge" AllowPdfExport=true AllowImageExport=true>
    ...
</SfLinearGauge>
@code {
    SfLinearGauge gauge;
    private async Task Export()
    {
        await gauge.Export(ExportType.PDF, "FileName", "Portrait");
    }
}

Now

<SfLinearGauge @ref="gauge" AllowPdfExport=true AllowImageExport=true>
    ...
</SfLinearGauge>
@code {
   SfLinearGauge gauge;
    private async Task Export()
    {
        await gauge.Export(ExportType.PDF, "FileName", Syncfusion.PdfExport.PdfPageOrientation.Portrait);
    }
}

ListBox

Breaking Changes

  • ListBox container DOM element class name was changed from e-listbox-wrapper to e-listbox-container.

Properties

  • Scope property type was changed from string to ListBox component reference (SfListBox<TValue, TItem>).
  • ListBoxToolbarSettings component Items property default acceptable value was changed from moveUp, moveDown, moveTo, moveFrom, moveAllTo and moveAllFrom to MoveUp, MoveDown, MoveTo, MoveFrom, MoveAllTo and MoveAllFrom.
  • The following properties are deprecated.
Property Description
ID and HtmlAttributes Use @attributes to set id and also additional attributes for list box element.

Previous

<SfListBox ID="listbox1" TValue="ValueType" TItem="DataSourceType" Scope="## listbox2">
    <ListBoxToolbarSettings Items="@items"></ListBoxToolbarSettings>
</SfListBox>

<SfListBox ID="listbox2" TValue="ValueType" TItem="DataSourceType"></SfListBox>

@code {
    private string[] items = new string[] { "moveUp", "moveDown", "moveTo", "moveFrom", "moveAllTo", "moveAllFrom" };
}

Now

<SfListBox @ref="listbox1" TValue="ValueType" TItem="DataSourceType" Scope="@scope1">
    <ListBoxToolbarSettings Items="@items"></ListBoxToolbarSettings>
</SfListBox>

<SfListBox @ref="listbox2" TValue="ValueType" TItem="DataSourceType" Scope="@scope2"></SfListBox>

@code {
    private SfListBox<ValueType, DataSourceType> listBox1;
    private SfListBox<ValueType, DataSourceType> listBox2;
    private SfListBox<ValueType, DataSourceType> scope1;
    private SfListBox<ValueType, DataSourceType> scope2;
    private string[] items = new string[] { "MoveUp", "MoveDown", "MoveTo", "MoveFrom", "MoveAllTo", "MoveAllFrom" };
    protected override void OnAfterRender(bool firstRender)
    {
        if (firstRender) {
            scope1 = listBox2;
            scope2 = listBox1;
            StateHasChanged();
        }
    }
}

Methods

  • GetDataByValue method return type was changed from object to List<TItem> and its parameter type was changed from object to TValue.
  • MoveAllTo method optional first argument and MoveTo method optional last argument which accepts Scope parameter type was changed from string to ListBox component reference.
  • MoveUp, MoveDown and MoveTo methods optional first argument type was changed from object to TValue.
  • EnableItems and SelectItems methods first argument type was changed from object to generic (T) type. You can pass either value (TValue) or data source(IEnumerable<TItem>) collection.
  • RemoveItem method optional first argument type was changed from object to IEnumerable<TItem>.
  • The following methods are deprecated.
Method Description
Filter Use AllowFiltering and FilterType property to perform filtering actions.
GetDataByValues Use GetDataByValue method to get the single or collection of data matching the provided value.
GetSortedList This method will no longer be used.
RemoveItems Use RemoveItem method to remove the list items.
Refresh Use StateHasChanged lifecycle method to re-render the ListBox.
RequiredModules and GetItems This method will no longer be used.

Events

  • Event argument type of OnActionComplete, Dropped and OnDrop events was changed to strongly typed.
Event Previous Event Args Current Event Args
Dropped DragEventArgs DragEventArgs<TItem>
OnDrop DropEventArgs DropEventArgs<TItem>
OnActionComplete ActionCompleteEventArgs ActionCompleteEventArgs<TItem>
  • The following events are deprecated.
    • DataBound
    • Dragging
    • Select

ListView

Breaking Changes

  • You need to set the TValue with a named model in the ListView component.
  • The Locale,IsVisible,Fields are deprecated and will no longer be used.
  • Id field must declare and initialized in ListViewFieldSettings tag.

Previous

<SfListView DataSource="@Data">
    <ListViewFieldSettings Id="Id" Text="Text"></ListViewFieldSettings>
</SfListView>

@code {
    List<DataModel> Data = new List<DataModel>();

    protected override void OnInitialized()
    {
        base.OnInitialized();
        Data.Add(new DataModel { Text = "Hennessey Venom", Id = "list-01" });
        Data.Add(new DataModel { Text = "Bugatti Chiron", Id = "list-02" });
        Data.Add(new DataModel { Text = "Bugatti Veyron Super Sport", Id = "list-03" });
    }

    class DataModel
    {
        public string Id { get; set; }
        public string Text { get; set; }
    }
}

Now

<SfListView DataSource="@Data" TValue="DataModel">
     <ListViewFieldSettings TValue="DataModel" Id="ID" Text="Text"></ListViewFieldSettings>
 </SfListView>

@code {
    DataModel[] Data =
    {
        new DataModel { Text = "Hennessey Venom", ID = "list-01" },
        new DataModel { Text = "Bugatti Chiron", ID = "list-02" },
        new DataModel { Text = "Bugatti Veyron Super Sport", ID = "list-03" }
    };
    class DataModel
    {
        public string Text { get; set; }
        public string ID { get; set; }
    }
}
  • The CheckItem & UncheckItem methods are deprecated and use CheckItems & UncheckItems methods respectively.
  • The RemoveItem and RemoveMultipleItems methods are deprecated, RemoveItems can be used instead.
  • The CheckAllItems and UncheckAllItems methods are deprecated. CheckItems and UncheckItems can be used instead.
  • The AddItem,FindItem,HideItem,SelectItem,SelectMultipleItems,GetSelectedItems,RefreshItemHeight,Render,Back methods are deprecated.
  • New methods RemoveItems,CheckItems,UncheckItems with type IEnumarable<TValue> are introduced.
Method Name Previous Param (Before v18.3.0.35) Current Param (From v18.3.0.35)
DisableItem object item TValue listItem
EnableItem object item TValue listItem
Remove object item TValue listItem
  • Selected event now replaced as Clicked event.
Event Name Previous Event Type (Before v18.3.0.35) Current Event Type (From v18.3.0.35)
Clicked SelectEventArgs ClickEventArgs
OnActionBegin DataBound ActionEventsArgs
OnActionComplete DataBound ActionEventsArgs
OnActionFailure DataBoundFailed FailureEventArgs

Breaking Changes

  • Menu component reference type was to changed to strongly typed from SfMenu to SfMenu<TValue>.
  • Menu container DOM element class name was changed from e-menu-wrapper to e-menu-container.

Properties

  • Items property type was changed from object to List<TValue>.
  • MenuFieldSettings component all field mapping properties type was changed from object to string.
  • The following properties are deprecated.
    • ID
    • EnableHtmlSanitizer
    • EnablePersistence
    • Locale

Methods

  • The following methods are deprecated.
Method Description
InsertAfter and InsertBefore You can directly insert the new items in the Items collection.
RemoveItems You can directly remove the items from the Items collection.
EnableItems You can enable/disable using the item Disabled property.
HideItems and ShowItems You can hide/show using the item Hidden property.
Refresh Use StateHasChanged lifecycle method to re-render the Menu.

Events

  • The below list of event argument type was changed to strongly typed.
Event Previous Event Args Current Event Args
ItemSelected and OnItemRender MenuEventArgs MenuEventArgs<TValue>
OnOpen and OnClose BeforeOpenCloseMenuEventArgs BeforeOpenCloseMenuEventArgs<TValue>
Opened and Closed OpenCloseMenuEventArgs OpenCloseMenuEventArgs<TValue>

Previous

<SfMenu @ref="Menu" Items="@menuItems">
    <MenuEvents ItemSelected="@SelectHandler"></MenuEvents>
    <MenuFieldSettings Text="@FieldText"></MenuFieldSettings>
</SfMenu>

@code {
    SfMenu Menu;
    private List<DataModel> menuItems = new List<DataModel>();
    private object FieldText = "Value";
    private void SelectHandler(MenuEventArgs e) {
        ...
    }
    private class DataModel
    {
        public string Value { get; set; }
    }
}

Now

<SfMenu @ref="Menu" Items="@menuItems">
    <MenuEvents TValue="DataModel" ItemSelected="@SelectHandler"></MenuEvents>
    <MenuFieldSettings Text="@FieldText"></MenuFieldSettings>
</SfMenu>

@code {
    SfMenu Menu<DataModel>;
    private List<DataModel> menuItems = new List<DataModel>();
    private string FieldText = "Value";
    private void SelectHandler(MenuEventArgs<DataModel> e) {
        ...
    }
    private class DataModel
    {
        public string Value { get; set; }
    }
}

New Features

  • Provided multi-level tag directive support for Item model generation in Menu.

NumericTextBox

Bug Fixes

  • ## 288516 - Issue with “value get flickering while pasting the non-numeric value” has been resolved.
  • ## 292725 - Issue with “numeric value is updated while scrolling the mouse wheel in the Read-only mode” has been resolved.
  • ## 293197, ## 293425, ## 293019 - Issue with “Min and Max property is not updated properly when set short and byte datatype” has been resolved.

PDF Viewer

Bug Fixes

  • ## F156838 - The export success event triggers properly when you export the form fields data using the ExportFormFieldsAsObject method.
  • ## 285509 - Now, the signature is loaded properly in the PDF document.
  • ## 289417 - Now, the annotation toolbar position is maintained correctly.
  • ## 283977, ## 288781 - Now, the custom stamp image is maintained correctly.
  • ## 291591 - Now, the text selection event is triggered properly.
  • ## 287511 - Resolved the casing issue in the stamp annotation.
  • ## 290535, ## 294012 - The compilation error is no longer occurred on using TextData property.
  • ## 291066, ## 290732, ## F157392 - The script error is no longer occurred on close the window.
  • ## 288981 - Now, the extract text is working properly.

New Features

  • ## 285244 - Provided the support to render the button field in the PDF document.
  • ## 289233 - Provided the support to add an expiration timing for the cache.
  • ## 267670 - Exposed the toolbar option to retrieve the form field data in the JSON format.
  • ## 292106 - Exposed the property to open the annotation toolbar during the initial loading.
  • ## 285456 - Provided the support to change the localization dynamically for the PDF viewer control.
  • ## 291004 - Provided the support to display the signature throughout the given signature field.
  • ## 288250 - Provided the support to maintain the selection of the text markup annotation.
  • ## 284600,## F152648 - Provided the support to navigate between the signature fields in the code behind.
  • ## 284195, ## 285170, ## 288894, ## 293861, ## 294991 - Provided the support to add the custom signature image and text in the signature field.

Pivot Table

Bug Fixes

  • ## F156821 - The “BeforeExport” event is now available in Blazor.

Progress Button

Breaking Changes

Properties

  • IconPosition property type was changed from object to enum (Syncfusion.Blazor.Buttons.IconPosition).
  • ProgressButtonSpinSettings component Template property name was changed to SpinTemplate and its type was changed from string to RenderFragment.

Methods

  • Stop method was changed from asynchronous to synchronous. Now you can access without await.
  • Start method optional argument type was changed from Nullable<double> to double.

Query Builder

Breaking Changes

  • QueryBuilder component reference type was changed to strongly typed from SfQueryBuilder to SfQueryBuilder<TValue>.

Properties

  • Below list of properties type was changed.
Property Previous Current
DataSource object IEnumerable<TValue>
QueryBuilderColumn->Type string Enum (Syncfusion.Blazor.QueryBuilder.ColumnType)
MaxGroupCount double int
  • The following properties are deprecated.
Property Description
ID Use @attributes to set id for query builder.
Columns Use <QueryBuilderColumns> component to initialize the columns.
Locale This property will no longer be used.
Rule Use <QueryBuilderRule> component to initialize the rule.
ShowButtons Use <QueryBuilderShowButtons> component to initialize the button properties.

Methods

  • AddGroups and AddRules methods name was changed to AddGroup and AddRule and its first argument type was changed from object to RuleModel.
  • DeleteGroups, DeleteRules methods name was changed to DeleteGroup and DeleteRule and its first argument type was changed from object to string.
  • GetGroup method first argument type was changed from object to string.
  • GetDataManagerQuery method parameter marked as optional and its return type was changed from object to Query.
  • GetFilteredRecords method return type was changed from object to IEnumerable<TValue>.
  • GetPredicate method parameter marked as optional and its return type was changed from object to WhereFilter.
  • GetRulesFromSql and SetRulesFromSql methods parameter marked as optional.
  • SetRules method parameter type was changed from Rule to List<Rule>.
  • The following methods are deprecated.
Method Description
GetRule Use GetRules/GetValidRules method for getting rules.
ValidateFields Use AllowValidation property to validate fields.
NotifyChange This property will no longer be used.

New Features

  • Added GetOperators method to get the operator lists.

Recurrence Editor

New Features

  • The two way binding support has been provided for Value property.

Breaking Changes

  • The type of property FirstDayOfWeek has been changed from double to int.
  • The type of property SelectedType has been changed from int to RepeatType enumeration.
  • The properties ID and Locale property has been deprecated and no longer can be used.
  • The return type of method GetRecurrenceDates has been changed from List<double> to List<DateTime> and type of its argument maximumCount has beem changed from double? to int?.
  • The following method is no longer an asynchronous method.

    • GetRecurrenceDates
    • SetRecurrenceRule
    • GetRecurrenceRule
    • GetRuleSummary
    • UpdateRuleUntilDate

RichTextEditor

New Features

  • ## 281117 - Provided new ImageUploadChange event to get the selected image file as MemoryStream.

Breaking Changes

Properties

Following properties types are changed

Class Property Previous Type Current Type
SfRichTextEditor MaxLength double int
SfRichTextEditor UndoRedoSteps double int
SfRichTextEditor UndoRedoTimer double int
RichTextEditorBackgroundColor Columns double int
RichTextEditorBackgroundColor Mode ColorModeType ColorPickerMode
RichTextEditorFontColor Columns double int
RichTextEditorFontColor Mode ColorModeType ColorPickerMode
RichTextEditorFontFamily Items object List<DropDownItemModel>
RichTextEditorFontSize Items object List<DropDownItemModel>
RichTextEditorImageSettings AllowedTypes string[] List<string>
RichTextEditorImageSettings Display string ImageDisplay
  • In RichTextEditorPasteCleanupSettings class, AllowedStyleProps, DeniedAttrs properties are deprecated. Use below new properties for achieve similar functionality.
Previous Property New Property
AllowedStyleProps AllowedStyleProperties
DeniedAttrs DeniedAttributes
  • Now Formatter property is deprecated. Use RichTextEditorMarkdownOptions tag directive to configure Markdown properties.

Previous

    <SfRichTextEditor EditorMode="EditorMode.Markdown" Formatter="@Format">
        ....
    </SfRichTextEditor>

    @code {
        private string Format = "new sf.richtexteditor.MarkdownFormatter({ 'listTags': { 'OL': '1., 2., 3.' } })";
    }

Now

    <SfRichTextEditor EditorMode="EditorMode.Markdown">
        <RichTextEditorMarkdownOptions ListSyntax="@syntax"></RichTextEditorMarkdownOptions>
    </SfRichTextEditor>

    @code {
        private Dictionary<string, string> syntax { get; set; } = new Dictionary<string, string>(){
            {"OL","1., 2., 3." }
        };
    }
  • Now KeyConfig property is deprecated. Use KeyConfigure property to configure custom KeyConfiguration.

Previous

    <SfRichTextEditor KeyConfig="@Config">
        ....
    </SfRichTextEditor>

    @code {
        public object Config = new
        {
            bold = "ctrl+1",
            italic = "ctrl+2"
        };
    }

Now

    <SfRichTextEditor KeyConfigure="@Config">
        ....
    </SfRichTextEditor>

    @code {
        private ShortcutKeys Config = new ShortcutKeys()
        {
            Bold = "ctrl+1",
            Italic = "ctrl+2"
        };
    }
  • In RichTextEditorFormat class, Types property is deprecated. Use Items property to configure custom format items.

Previous

    <SfRichTextEditor>
        ....
        <RichTextEditorFormat Types="@FormatItems" />
    </SfRichTextEditor>

    @code {
        public object FormatItems { get; set; }
    }

Now

    <SfRichTextEditor>
        ....
        <RichTextEditorFormat Items="@FormatItems" />
    </SfRichTextEditor>

    @code {
        public List<DropDownItemModel> FormatItems { get; set; }
    }
  • In RichTextEditorIFrameSettings class, Attributes property type changed from object to Dictionary<string, object>.

Previous

    <SfRichTextEditor>
        ....
        <RichTextEditorIFrameSettings Attributes="@CustomIframeAttributes" />
    </SfRichTextEditor>

    @code {
        public object CustomIframeAttributes { get; set; } = new { { "disabled", "disabled" } };
    }

Now

    <SfRichTextEditor>
        ....
        <RichTextEditorIFrameSettings Attributes="@CustomIframeAttributes" />
    </SfRichTextEditor>

    @code {
        public Dictionary<string, object> CustomIframeAttributes { get; set; } = new Dictionary<string, object>() {
            { "disabled", "disabled" }
        };
    }
  • In RichTextEditorInlineMode class, OnSelection property deprecated. Use ShowOnSelection new property to achieve the functionality.

Previous

    <SfRichTextEditor>
        ....
        <RichTextEditorInlineMode OnSelection="true" />
    </SfRichTextEditor>

Now

    <SfRichTextEditor>
        ....
        <RichTextEditorInlineMode ShowOnSelection="true" />
    </SfRichTextEditor>
  • In RichTextEditorQuickToolbarSettings class, Image property type changed from object to List<ImageToolbarItemModel>.

Previous

    <SfRichTextEditor>
        ....
        <RichTextEditorQuickToolbarSettings Image="@ImageItems" />
    </SfRichTextEditor>

    @code {
        public object ImageItems { get; set; } = new { "Replace", "Remove" };
    }

Now

    <SfRichTextEditor>
        ....
        <RichTextEditorQuickToolbarSettings Image="@ImageItems" />
    </SfRichTextEditor>

    @code {
        public List<ImageToolbarItemModel> ImageItems { get; set; } = new List<ImageToolbarItemModel>() {
            new ImageToolbarItemModel() { Command = ImageToolbarCommand.Replace },
            new ImageToolbarItemModel() { Command = ImageToolbarCommand.Remove }
        };
    }
  • In RichTextEditorQuickToolbarSettings class, Link property type changed from object to List<LinkToolbarItemModel>.

Previous

    <SfRichTextEditor>
        ....
        <RichTextEditorQuickToolbarSettings Link="@LinkItems" />
    </SfRichTextEditor>

    @code {
        public object LinkItems { get; set; } = new { "Open", "UnLink" };
    }

Now

    <SfRichTextEditor>
        ....
        <RichTextEditorQuickToolbarSettings Link="@LinkItems" />
    </SfRichTextEditor>

    @code {
        public List<LinkToolbarItemModel> LinkItems { get; set; } = new List<LinkToolbarItemModel>() {
            new LinkToolbarItemModel() { Command = LinkToolbarCommand.Open },
            new LinkToolbarItemModel() { Command = LinkToolbarCommand.UnLink }
        };
    }
  • In RichTextEditorQuickToolbarSettings class, Table property type changed from object to List<TableToolbarItemModel>.

Previous

    <SfRichTextEditor>
        ....
        <RichTextEditorQuickToolbarSettings Table="@TableItems" />
    </SfRichTextEditor>

    @code {
        public object TableItems { get; set; } = new { "TableHeader", "TableRemove" };
    }

Now

    <SfRichTextEditor>
        ....
        <RichTextEditorQuickToolbarSettings Table="@TableItems" />
    </SfRichTextEditor>

    @code {
        public List<TableToolbarItemModel> TableItems { get; set; } = new List<TableToolbarItemModel>() {
            new TableToolbarItemModel() { Command = TableToolbarCommand.TableHeader },
            new TableToolbarItemModel() { Command = TableToolbarCommand.TableRemove }
        };
    }
  • In RichTextEditorTableSettings class, Styles property type changed from object to List<DropDownItemModel>.

Previous

    <SfRichTextEditor>
        ....
        <RichTextEditorTableSettings Styles="@Style" />
    </SfRichTextEditor>

    @code {
        public object Style { get; set; } = new {
            { text: 'Alternate Rows', cssClass: 'e-alternate-rows', command: 'Table', subCommand: 'Alternate' }
        };
    }

Now

    <SfRichTextEditor>
        ....
        <RichTextEditorTableSettings Styles="@Style" />
    </SfRichTextEditor>

    @code {
        public List<DropDownItemModel> Style { get; set; } = new List<DropDownItemModel>() {
            new DropDownItemModel() { CssClass = "e-alternate-rows", Command = "Table", SubCommand = "Alternate", Text = "Alternate Rows" }
        };
    }
  • In RichTextEditorToolbarSettings class, Items property type changed from object to List<ToolbarItemModel>.

Previous

    <SfRichTextEditor>
        ....
        <RichTextEditorToolbarSettings Items="@Tools" />
    </SfRichTextEditor>

    @code {
        public object Tools { get; set; } = new { "Bold", "Italic" };
    }

Now

    <SfRichTextEditor>
        ....
        <RichTextEditorToolbarSettings Items="@Tools" />
    </SfRichTextEditor>

    @code {
        public List<ToolbarItemModel> Tools { get; set; } = new List<ToolbarItemModel>()
        {
            new ToolbarItemModel() { Command = ToolbarCommand.Bold },
            new ToolbarItemModel() { Command = ToolbarCommand.Italic }
        };
    }

Methods

Following method arguments type changed

Method Argument Previous Argument Type Current Argument Type
DisableToolbarItem items object List<ToolbarCommand>
DisableToolbarItem muteToolbarUpdate   This argument is removed.
EnableToolbarItem items object List<ToolbarCommand>
EnableToolbarItem muteToolbarUpdate   This argument is removed.
RemoveToolbarItem items object List<ToolbarCommand>
  • We have modified the ExecuteCommand with method overloading and now we can use it like below

Previous

    <SfRichTextEditor @ref="rteObj"> </SfRichTextEditor>
    @code {
        private SfRichTextEditor rteObj { get; set; }

        ....
        this.rteObj.ExecuteCommand(CommandName.Bold);
        ....
    }

Now

  1. Passing CommandName alone.
    <SfRichTextEditor @ref="rteObj"> </SfRichTextEditor>

    @code {
        private SfRichTextEditor rteObj { get; set; }

        ....
        this.rteObj.ExecuteCommand(CommandName.Bold);
        ....
    }
  1. Passing CommandName with value.
    <SfRichTextEditor @ref="rteObj"> </SfRichTextEditor>

    @code {
        private SfRichTextEditor rteObj { get; set; }

        ....
        this.rteObj.ExecuteCommand(CommandName.BackgroundColor, "## RRGGBB");
        ....
    }
  1. Passing Image command with ImageCommandsArgs class arguments
    <SfRichTextEditor @ref="rteObj"> </SfRichTextEditor>

    @code {
        private SfRichTextEditor rteObj { get; set; }

        ....
        this.rteObj.ExecuteCommand(CommandName.InsertImage, new ImageCommandsArgs()
            {
                Url = "https://blazor.syncfusion.com/demos/images/rich-text-editor/rte-image-feather.png",
                AltText = "Feather"
            }
        );
        ....
    }
  1. Passing Link command with LinkCommandsArgs class arguments
    <SfRichTextEditor @ref="rteObj"> </SfRichTextEditor>

    @code {
        private SfRichTextEditor rteObj { get; set; }

        ....
        this.rteObj.ExecuteCommand(CommandName.CreateLink, new LinkCommandsArgs()
            {
                Url = "www.google.com",
                Text = "Google"
            }
        );
        ....
    }
  1. Passing Table command with TableCommandsArgs class arguments
    <SfRichTextEditor @ref="rteObj"> </SfRichTextEditor>

    @code {
        private SfRichTextEditor rteObj { get; set; }

        ....
        this.rteObj.ExecuteCommand(CommandName.InsertTable, new TableCommandsArgs()
            {
                Rows = 3,
                Columns = 3
            }
        );
        ....
    }

Events

Following events return type changed

Event Name Previous Type Current Type
OnDialogClose BeforeOpenEventArgs BeforeCloseEventArgs
OnImageRemoving object RemovingEventArgs
  • OnImageUploading event is deprecated. Use BeforeUploadImage event to achieve functionality.

Previous

    <SfRichTextEditor>
        <RichTextEditorEvents OnImageUploading="ImageUploadHandler"></RichTextEditorEvents>
    </SfRichTextEditor>

Now

    <SfRichTextEditor>
        <RichTextEditorEvents BeforeUploadImage="ImageUploadHandler"></RichTextEditorEvents>
    </SfRichTextEditor>

Scheduler

Bug Fixes

  • ## 279686, ## 289248, ## 155614 - ResourceData can be accessed in TemplateContext within ResourceHeaderTemplate and ResourceHeaderTooltipTemplate instead of casting to TValue.
  • ## 292294, ## 293403 - The issue with Appointments missing in month view with different timezone has been resolved.
  • ## 286945 - The issue with overlapping of appointments when using EventRendered event has been resolved.
  • ## 291825 - The issue with swedish culture has been resolved.
  • GetCurrentViewDates method will now return the current dates avail in the scheduler view.

New Features

  • Provided a API MaxEventsPerRow to control the rendering of number of events in a row in the timeline views and month views.
  • ## 151438, ## 151722 - Built-in field CssClass has been provided to apply styles to each appointment element.
  • ## 156055 - A public method has been introduced to get the currently selected event collections.
  • ## 154771 - Excel export now supports to export with 24 hour date format.
  • Templates will now return proper DateTime, no need to convert explicitly using ToUniversalTime().

Breaking Changes

  • RowAutoHeight and EditFollowingEvents properties are now renamed as EnableAutoRowHeight and AllowEditFollowingEvents.

Previous

<SfSchedule TValue="AppointmentData" RowAutoHeight="true">
    <ScheduleEventSettings DataSource="@DataSource" EditFollowingEvents="true"></ScheduleEventSettings>
</SfSchedule>

Now

<SfSchedule TValue="AppointmentData" Height="650px" EnableAutoRowHeight="true">
    <ScheduleEventSettings DataSource="@DataSource" AllowEditFollowingEvents="true"></ScheduleEventSettings>
</SfSchedule>
  • Generic class of resource dataSource has been renamed as TItem and Generic support for resource id TValue has been provided within ScheduleResource which should be in array type if AllowMultiple is true.

Previous

<ScheduleResources>
    <ScheduleResource TValue="ResourceData" DataSource="@RoomData" Field="RoomId" Title="Room" Name="Rooms" AllowMultiple="false"></ScheduleResource>
    <ScheduleResource TValue="ResourceData" DataSource="@OwnersData" Field="OwnerId" Title="Owner" Name="Owners" AllowMultiple="true"></ScheduleResource>
</ScheduleResources>

public class ResourceData
{
    public int Id { get; set; }
    public string Text { get; set; }
    public string Color { get; set; }
    public int GroupId { get; set; }
}

Now

<ScheduleResources>
    <ScheduleResource TItem="ResourceData" TValue="int" DataSource="@RoomData" Field="RoomId" Title="Room" Name="Rooms" AllowMultiple="false"></ScheduleResource>
    <ScheduleResource TItem="ResourceData" TValue="int[]" DataSource="@OwnersData" Field="OwnerId" Title="Owner" Name="Owners" AllowMultiple="true"></ScheduleResource>
</ScheduleResources>

public class ResourceData
{
    public int Id { get; set; }
    public string Text { get; set; }
    public string Color { get; set; }
    public int GroupId { get; set; }
}
  • TemplateContext need to be provided in ResourceHeaderTemplate and ResourceHeaderTooltipTemplate instead of casting from TValue.

Previous

    <HeaderTooltipTemplate>
        <div class='template-wrap'>
                <div class="resource-name">@(((context as AppointmentData).ResourceData as ResourceData).Text)</div>
        </div>
    </HeaderTooltipTemplate>
    <ResourceHeaderTemplate>
        <div class='template-wrap'>
            <div class="resource-details">
                <div class="resource-name">@(((context as AppointmentData).ResourceData as ResourceData).Text)</div>
                <div class="resource-designation">@(((context as AppointmentData).ResourceData as ResourceData).Designation)</div>
            </div>
        </div>
    </ResourceHeaderTemplate>

Now

    <HeaderTooltipTemplate>
        <div class='template-wrap'>
                <div class="resource-name">@(((context as TemplateContext).ResourceData as ResourceData).Text)</div>
        </div>
    </HeaderTooltipTemplate>
        <ResourceHeaderTemplate>
        <div class='template-wrap'>
            <div class="resource-details">
                <div class="resource-name">@(((context as TemplateContext).ResourceData as ResourceData).Text)</div>
                <div class="resource-designation">@(((context as TemplateContext).ResourceData as ResourceData).Designation)</div>
            </div>
        </div>
    </ResourceHeaderTemplate>
  • Must use two way property binding for SelectedDate and CurrentView properties.
  • In EditorTemplate must use two way binding for value/property binding.
  • The type of following scheduler properties are changed from double to int.

    • AgendaDaysCount
    • FirstDayOfWeek
    • Interval in ScheduleTimeScale, ScheduleViewTimeScale, ScheduleView
    • SlotCount in ScheduleTimeScale, ScheduleViewTimeScale
    • FirstDayOfWeek in ScheduleView
  • In NavigateOptions class, type of TimeDelay property has been changed from double to int.
  • In ScrollOptions class, type of ScrollBy and TimeDelay has been changed from double to int.
  • The type of Validation property is changed from object to ValidationRule.

Breaking changes

SfSchedule Comments
CurrentViewExpression This property is deprecated and will no longer be used.
SelectedDateExpression This property is deprecated and will no longer be used.
AllowExcelExport This property is deprecated and will no longer be used.
HtmlAttributes This property is deprecated and will no longer be used.
Locale This property is deprecated. Hereafter, the Locale works based on the current culture of the machine.
DateHeaderTemplate This property is deprecated. Use tag level DateHeaderTemplate within ScheduleTemplatesto render date header template.
EditorTemplate This property is deprecated. Use tag level EditorTemplate within ScheduleTemplatesto render date header template.
CellHeaderTemplate This property is deprecated. Use tag level CellHeaderTemplate within ScheduleTemplatesto render date header template.
CellTemplate This property is deprecated. Use tag level CellTemplate within ScheduleTemplatesto render date header template.
ResourceHeaderTemplate This property is deprecated. Use tag level ResourceHeaderTemplate within ScheduleTemplatesto render date header template.
EventSettings This property is deprecated. Use tag level ScheduleEventSettings to provide event settings.
TimeScale This property is deprecated. Use tag level ScheduleTimeScale to provide timescale settings.
HeaderRows This property is deprecated. Use tag level ScheduleHeaderRow to provide header row settings.
QuickInfoTemplates This property is deprecated. Use tag level ScheduleQuickInfoTemplates to render quick info template.
WorkHours This property is deprecated. Use tag level ScheduleWorkHours to provide work hour details.
Group This property is deprecated. Use tag level ScheduleGroup to provide group details.
Views This property is deprecated. Use tag level ScheduleView to provide view settings.
GetEventDetails This method is deprecated and will no longer be work. Use GetTargetEvent(int left, int top) or GetSelectedEvents() methods.
GetTargetElement This method is deprecated and will no longer be work. Use GetTargetEvent(int left, int top) or GetTargetCell(int left, int top) methods.
GetCellDetails This method is deprecated and will no longer be work.Use GetTargetEvent(int left, int top) or GetSelectedCells() methods.
GetSelectedElements This method is deprecated and will no longer be work. Use GetSelectedCells() or GetSelectedEvents() methods.
AddEvent This method is deprecated. Use AddEvent(TValue data) to add appointment.
SaveEvent This method is deprecated. Use SaveEvent(TValue data) to save appointment.
DeleteEvent TThis method is deprecated a. Use DeleteEvent(TValue eventData, CurrentAction? currentAction = null) to delete event using event data and use DeleteEvent<T>(T id, CurrentAction? currentAction = null) to delete appointment based on its id.
OpenEditor TThis method is deprecated and no longer be used. Use OpenEditor(CellClickEventArgs data, CurrentAction action, int? repeatType = null) to open editor on cell and use OpenEditor(TValue data, CurrentAction action) to open editor on appointment.
IsSlotAvailable TThis method is deprecated and no longer be used. IsSlotAvailable(TValue startTime) and use IsSlotAvailable(DateTime startTime, DateTime? endTime = null, int? groupIndex = null) to check availability based on appointment and datetime range.
AddResource This method is deprecated. Use AddResource<T>(List<T> resources, string name, int index) to add resources.
RemoveResource This method is deprecated. Use RemoveResource<T>(List<T> resourceIDList, string name) to remove resources.
CollapseResource This method is deprecated. Use CollapseResource<T>(T resourceId, string name) to collapse resource.
ExpandResource This method is deprecated. Use ExpandResource<T>(T resourceId, string name) to expand resource.
ScrollToResource This method is deprecated. Use ScrollToResource<T>(T resourceId, string groupName = null) to scroll to specific resource.
GetDeletedOccurrences This method is deprecated. Use GetDeletedOccurrences<T>(T recurrenceData) to get the deleted occurrences.
GetOccurrencesByID This method is deprecated. Use GetOccurrencesByID<T>(T eventID) to get the occurrences based on event id.
ImportICalendar This method is deprecated. Use ImportICalendar(string fileContent) to import ICalendars to the scheduler.
SetWorkHours This method is deprecated. Use SetWorkHours(List<DateTime> dates, string start, string end, Nullable<int> groupIndex = null) to set work hours dynamically.
ResetWorkHours This method is deprecated. Use ResetWorkHours(List<DateTime> dates, string start, string end, Nullable<int> groupIndex = null) to set work hours dynamically.
ScheduleQuickInfoTemplates Comments
Content This property is deprecated. Use ContenTemplate tag to provide template to quick info content.
Footer This property is deprecated. use FooterTemplate tag to provide template to quick info footer.
Header This property is deprecated. Use HeaderTemplate tag to provide template to quick info header.
ScheduleView Comments
Group This property is deprecated. Use ScheduleViewGroup tag to achieve view wise grouping.
TimeScale This property is deprecated. use ScheduleViewTimeScale tag to achieve view view timescale settings.
ScheduleEventSettings Comments
Fields This property is deprecated. Use ScheduleField tag to provide event fields detail.
ScheduleField Comments
Description This property is deprecated. Use FieldDescription tag to set Description field details.
EndTime This property is deprecated. use FieldEndTime tag to set EndTime field details.
EndTimezone This property is deprecated. Use FieldEndTimezone tag to set EndTimezone field details.
IsAllDay This property is deprecated. Use FieldIsAllDay tag to set IsAllDay field details.
Location This property is deprecated. Use FieldLocation tag to set Location field details.
RecurrenceException This property is deprecated. Use FieldRecurrenceException tag to set RecurrenceException field details.
RecurrenceID This property is deprecated. Use FieldRecurrenceId tag to set description RecurrenceID details.
StartTime This property is deprecated. Use FieldStartTime tag to set StartTime field details.
StartTimezone This property is deprecated. Use FieldStartTimezone tag to set StartTimezone field details.
RecurrenceRule This property is deprecated. Use FieldRecurrenceRule tag to set RecurrenceRule rule field details.
Subject This property is deprecated. Use FieldSubject tag to set Subject field details.
  • GetEventMaxID and GetResourcesbyIndex methods are now renamed as GetMaxEventId and GetResourceByIndex.
  • The following methods will no longer be asynchronous methods.

    • CloseEditor
    • GetCurrentViewDates
    • GetCurrentViewEvents
    • GetOccurrencesByRange
    • HideSpinner
    • ShowSpinner
  • In ActionEventArgs<T> class, few properties has been deprecated and modified few property type.

Previous

    public class ActionEventArgs<T>
    {
        public List<T> AddedRecords { get; set; }
        public bool Cancel { get; set; }
        public List<T> ChangedRecords { get; set; }
        public object Data { get; set; }
        public List<T> DeletedRecords { get; set; }
        public MouseEventArgs Event { get; set; }
        public double GroupIndex { get; set; }
        public object Items { get; set; }
        public string Name { get; set; }
        public Exception Error { get; set; }
        public string RequestType { get; set; }
    }

Now

    public class ActionEventArgs<T>
    {
        public List<T> AddedRecords { get; set; }
        public bool Cancel { get; set; }
        public List<T> ChangedRecords { get; set; }
        public List<T> DeletedRecords { get; set; }
        public int GroupIndex { get; set; }
        public Exception Error { get; set; }
        public ActionType ActionType { get; set; }
    }
  • In CellClickEventArgs class, few properties has been deprecated and modified few property type.

Previous

    public class CellClickEventArgs
    {
        public bool Cancel { get; set; }
        public DOM Element { get; set; }
        public DateTime EndTime { get; set; }
        public MouseEventArgs Event { get; set; }
        public double GroupIndex { get; set; }
        public bool IsAllDay { get; set; }
        public string Name { get; set; }
        public DateTime StartTime { get; set; }
    }

Now

    public class CellClickEventArgs
    {
        public bool Cancel { get; set; }
        public DateTime EndTime { get; set; }
        public int GroupIndex { get; set; }
        public bool IsAllDay { get; set; }
        public DateTime StartTime { get; set; }
    }
  • In DataBindingEventArgs<T> and DataBoundEventArgs<T> class, following properties has been deprecated.
    public double Count { get; set; }
    public string Name { get; set; }
  • In DragEventArgs<T> class, few properties has been deprecated and modified few property type.

Previous

    public class DragEventArgs<T>
    {
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public DOM Element { get; set; }
        public DateTime EndTime { get; set; }
        public MouseEventArgs Event { get; set; }
        public string ExcludeSelectors { get; set; }
        public double GroupIndex { get; set; }
        public double Interval { get; set; }
        public string Name { get; set; }
        public NavigateOptions Navigation { get; set; }
        public ScrollOptions Scroll { get; set; }
        public DateTime StartTime { get; set; }]
        public DOM Target { get; set; }
    }

Now

    public class DragEventArgs<T>
    {
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public DateTime EndTime { get; set; }
        public string ExcludeSelectors { get; set; }
        public int GroupIndex { get; set; }
        public int Interval { get; set; }
        public NavigateOptions Navigation { get; set; }
        public ScrollOptions Scroll { get; set; }
        public DateTime StartTime { get; set; }]
    }
  • In EventClickArgs<T> class, few properties has been deprecated and modified few property type.

Previous

    public class EventClickArgs<T>
    {
        public bool Cancel { get; set; }")]
        public DOM Element { get; set; }
        public T Event { get; set; }
        public string Name { get; set; }    
    }

Now

    public class EventClickArgs<T>
    {
        public bool Cancel { get; set; }")]
        public T Event { get; set; }
        public List<T> EventCollection { get; set; }
    }
  • In EventRenderedArgs<T> class, few properties has been deprecated and modified few property type.

Previous

    public class EventRenderedArgs<T>
    {
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public DOM Element { get; set; }
        public string Name { get; set; }
        public double GroupIndex { get; set; }
        public string Type { get; set; }
    }

Now

    public class EventRenderedArgs<T>
    {
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public List<string> CssClasses { get; set; }
        public ElementReference ElementReference { get; set; }
        public int GroupIndex { get; set; }
        public AppointmentType AppointmentType { get; set; }
    }
  • In MoreEventsClickArgs class, few properties has been deprecated and modified few property type.

Previous

    public class MoreEventsClickArgs
    {
        public bool Cancel { get; set; }
        public DOM Element { get; set; }
        public DateTime EndTime { get; set; }
        public MouseEventArgs Event { get; set; }
        public double GroupIndex { get; set; }
        public bool IsPopupOpen { get; set; }]
        public string Name { get; set; }
        public DateTime StartTime { get; set; }
        public View ViewName { get; set; }
    }

Now

    public class MoreEventsClickArgs
    {
        public bool Cancel { get; set; }
        public DateTime EndTime { get; set; }
        public MouseEventArgs Event { get; set; }
        public int GroupIndex { get; set; }
        public bool IsPopupOpen { get; set; }]
        public DateTime StartTime { get; set; }
        public View ViewName { get; set; }
    }
  • In NavigatingEventArgs class, few properties has been deprecated and modified few property type.

Previous

    public class NavigatingEventArgs
    {
        public string Action { get; set; }
        public bool Cancel { get; set; }
        public DateTime CurrentDate { get; set; }
        public View CurrentView { get; set; }
        public string Name { get; set; }
        public DateTime PreviousDate { get; set; }
        public View PreviousView { get; set; }
        public int ViewIndex { get; set; }
    }

Now

    public class NavigatingEventArgs
    {
        public string Action { get; set; }
        public bool Cancel { get; set; }
        public DateTime CurrentDate { get; set; }
        public View CurrentView { get; set; }
        public DateTime PreviousDate { get; set; }
        public View PreviousView { get; set; }
        public int ViewIndex { get; set; }
    }
  • In PopupCloseEventArgs<T> class, following properties has been deprecated.
    public DOM Element { get; set; }
    public string Name { get; set; }
    public DOM Target { get; set; }
  • In PopupOpenEventArgs<T> class, few properties has been deprecated and modified few property type.

Previous

   public class PopupOpenEventArgs<T>
    {
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public double Duration { get; set; }
        public DOM Element { get; set; }
        public string Name { get; set; }
        public DOM Target { get; set; }
        public PopupType Type { get; set; }
    }

Now

   public class PopupOpenEventArgs<T>
    {
        public int Duration { get; set; }
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public PopupType Type { get; set; }
    }
  • In RenderCellEventArgs<T> class, few properties has been deprecated and modified few property type.

Previous

    public class RenderCellEventArgs
    {
        public DateTime Date { get; set; }
        public CellDOM Element { get; set; }
        public ElementType ElementType { get; set; } = new ElementType();
        public double? GroupIndex { get; set; }
        public string Name { get; set; }   
    }

Now

    public class RenderCellEventArgs
    {
        public DateTime Date { get; set; }
        public List<string> CssClasses { get; set; }
        public ElementType ElementType { get; set; }
        public int? GroupIndex { get; set; }
    }
  • In ResizeEventArgs<T> class, few properties has been deprecated and modified few property type.

Previous

    public class ResizeEventArgs<T>
    {
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public DOM Element { get; set; }
        public DateTime EndTime { get; set; }
        public MouseEventArgs Event { get; set; }]
        public double GroupIndex { get; set; }
        public double Interval { get; set; }
        public string Name { get; set; }
        public ScrollOptions Scroll { get; set; }
        public DateTime StartTime { get; set; }
    }

Now

    public class ResizeEventArgs<T>
    {
        public bool Cancel { get; set; }
        public T Data { get; set; }
        public DateTime EndTime { get; set; }
        public int GroupIndex { get; set; }
        public int Interval { get; set; }
        public ScrollOptions Scroll { get; set; }
        public DateTime StartTime { get; set; }
    }
  • In ResourceDetails<T> class, modified few property type.

Previous

    public class ResourceDetails<T>
    {
        public object GroupData { get; set; }
        public Resource Resource { get; set; }
        public List<ResourceDetails<T>> ResourceChild { get; set; }
        public T ResourceData { get; set; }
        public string ResourceId { get; set; }
        public string ResourceName { get; set; } 
    }

Now

    public class ResourceDetails<T>
    {
        public T GroupData { get; set; }
        public Resource Resource { get; set; }
        public List<ResourceDetails<T>> ResourceChild { get; set; }
        public object ResourceData { get; set; }
        public string ResourceId { get; set; }
        public string ResourceName { get; set; } 
    }

Breaking Changes

  • The Zindex type is changed from double to int.
  • The Show, Hide, Toggle methods are deprecated and will no longer be used. Use the IsOpen property to achieve the same requirement.
  • The DOM Element parameter of event arguments is changed to ElementReference Element.

New Features

  • ## 285088 - Provided the dynamically binding support to the HtmlAttributes property in the Sidebar component.

Slider

Bug Fixes

  • ## 287260 - The issue with the “Tooltip change event is triggered three times when changing the value of the Slider component” has been resolved.

Spinner

New Features

  • A new property Visible is given where it specifies the value that represents whether the Spinner component is visible. It supports two-way binding and can be used as an alternate for Show and Hide methods.

  • A new property ZIndex is given where it specifies the z-order for the Spinner.

  • New events support are given in the Spinner and it is as follows,

Event Name Functionality Type
Created Triggered when the Spinner is created. Object
OnBeforeOpen Triggered before the Spinner is opened. SpinnerEventArgs
Argument: Cancel
Set cancel as true to prevent showing or hiding of the spinner.
OnBeforeClose Triggered before the Spinner is closed. SpinnerEventArgs
Argument: Cancel
Set cancel as true to prevent showing or hiding of the spinner.
Destroyed Triggered when the Spinner is destroyed. Object

Breaking Changes

  • The IsRendered property is deprecated and will no longer be used.

  • The SpinnerType class moved from Syncfusion.Blazor.Popups to Syncfusion.Blazor.Spinner namespace.

  • The Target property is deprecated and will no longer be used. Hereafter, the spinner will automatically be appended where it is rendered.

  • The Width property is deprecated and will no longer be used. Use Size property to update the width of the spinner.

  • The CreateSpinner method is deprecated and will no longer be used. Hereafter, the spinner will automatically be created where it is rendered.

  • The SetSpinner method is deprecated and will no longer be used. Hereafter, the spinner will automatically set where it is rendered.

  • The methods ShowSpinner and HideSpinner are changed, and it is as follows,

Previous Method Current Method
ShowSpinner(string Target) Show()
HideSpinner(string target) Hide()

The argument Target is not necessary to pass to the Show and Hide methods.

Toast

Bug Fixes

  • 281031 -The issue with “SfToast properties are not updated properly when showing multiple times” has been resolved.
  • 287560 - The issue with “SfToast events are triggered with some delay” has been resolved.

Breaking Changes

Properties

  • TimeOut property is now deprecated. Use Timeout property to configure timeout value for a toast.
  • Timeout type is changed from double to int.

Previous

<SfToast TimeOut="1000">

</SfToast>

Now

<SfToast Timeout="1000">

</SfToast>
  • Buttons Component is now deprecated .Use ToastButtons component to configure the toast buttons.
  • ToastButtonModelProps and ToastButtonModelProp components are now deprecated.Use ToastButtons and ToastButton components to configure button properties

Previous

<SfToast>
    <ToastButtonModelProps>
        <ToastButtonModelProp Model="@buttonModel"></ToastButtonModelProp>
    </ToastButtonModelProps>
</SfToast>

@code {
     private ButtonModel buttonModel = new ButtonModel { Content = "Click Here" };
}

Now

<SfToast>
    <ToastButtons>
        <ToastButton Content = "Click Here"></ToastButton>
    </ToastButtons>
</SfToast>
  • ToastAnimationSettingsShow and ToastAnimationSettingsHide components are renamed as ToastShowAnimationSettings and ToastHideAnimationSettings

Previous

<SfToast>
  <ToastAnimationSettings>
        <ToastAnimationSettingsShow Effect="@ToastEffect" Easing="@ToastEasing" Duration="@ToastDuration"></ToastAnimationSettingsShow>
        <ToastAnimationSettingsHide Effect="@ToastEffect" Easing="@ToastEasing" Duration="@ToastDuration"></ToastAnimationSettingsHide>
    </ToastAnimationSettings>
</SfToast>

@code {
    private string ToastEffect = "FadeIn";
    private string ToastEasing = "ease";
    private double ToastDuration = 1000;
}

Now

<SfToast>
    <ToastAnimationSettings>
        <ToastShowAnimationSettings Effect="@ToastEffect" Easing="@ToastEasing" Duration="@ToastDuration"></ToastShowAnimationSettings>
        <ToastHideAnimationSettings Effect="@ToastEffect" Easing="@ToastEasing" Duration="@ToastDuration"></ToastHideAnimationSettings>
    </ToastAnimationSettings>
</SfToast>

@code {
    
    private ToastEffect ToastEffect = ToastEffect.FadeIn;
    private ToastEasing ToastEasing = ToastEasing.Ease;
    private int ToastDuration = 1000;
}
  • Template property is now deprecated. Use ContentTemplate property to render toast templates.

Previous

<SfToast @ref="ToastObj">
    <ToastEvents Created="@OnToastCreate"></ToastEvents
</SfToast>

@code {
 SfToast MailToastObj;
  
 private async Task OnToastCreate() {
 string content ="<div> Syncfusion Toast</div>";
 await this.MailToastObj.Show(new ToastModel { Template = content});
 }
}

Now

<SfToast @ref="ToastObj">
    <ToastEvents Created="@OnToastCreate"></ToastEvents
</SfToast>

@code {
 SfToast MailToastObj;
  
 private async Task OnToastCreate() {
 RenderFragment content  = @<div> Syncfusion Toast</div>;
 await this.MailToastObj.Show(new ToastModel { ContentTemplate = @content });
 }
}
  • Property breaking changes are listed below,
Deprecated New Property
TimeOut -> double Timeout -> int
Buttons -> List<ToastButtonModelProp> ActionButtons -> List<ToastButton>

 

Property Previous Type New Type
Template string RenderFragment
Effect string ToastEffect(Enum)
Easing string ToastEasing(Enum)
Duration double int
  • ToastButton component contains the following properties
ToastButtonModelProp(Deprecated) ToastButton
Clicked -> MouseEventArgs OnClick -> MouseEventArgs
Model -> object Content -> string
  CssClass -> string
  EnableRtl -> bool
  IconCss -> string
  IconPosition -> IconPosition
  IsPrimary -> bool
  IsToggle -> bool
  • The following properties are deprecated.
    • EnableHtmlSanitizer
    • ToastShowModel
    • IToast
    • ToastShowModel -> HtmlAttributes
    • ButtonModelPropsModel

Events

  • Added the Destroyed event and invoked it once the component is disposed.
  • The following events and the event models are deprecated.
    • Event:
      • OnSanitizeHtml
    • EventModels:
      • BeforeSanitizeHtmlArgs
      • SanitizeSelectors
      • SanitizeRemoveAttrs
      • ButtonModelPropsModel
  • The following args are removed from the event arguments.
Events ArgsName
ToastBeforeOpenArgs Name
ToastClickEventArgs Name
  OriginalEvent
ToastCloseArgs Name
ToastOpenArgs Name

Tooltip

Bug Fixes

  • F156256 - The issue with “The Tooltip is not opened on the target element using opendelay and closedelay” has been resolved.

  • ## 286677, ## 289033, ## 290978, ## 288348, ## 293035, F157004 - The issue with “The tooltip is not hidden when hovering the mouse quickly over the target” has been resolved.

  • ## 293758 - Resolved the A task was cancelled exception issue in the Tooltip component while page routing.

New Features

  • We have provided a support to render the tooltip component with the target which is rendered outside the tooltip component.

Tree Grid

New Features

  • ## 259197 - Provided support for Row Virtualization in Tree Grid.
  • ## 260425, ## 273119, ## 272759, ## 275215, ## 276529, ## 292996 - Provided support to drag and drop rows between TreeGrids.
  • ## F154231 - Provided support for ExpandoObject data binding.
  • Improved performance while loading large data and while performing grid actions such as paging, filtering, etc in WebAssembly.

Breaking Changes

  • In ColumnMenuClickEventArgs class, below properties types are changed.
Property Previous Type Current Type
Element DOM ElementReference
Event Navigations.EventArgs System.EventArgs
  • In ContextMenuClickEventArgs class, below properties types are changed.
Property Previous Type Current Type
Element DOM ElementReference
Items List<ContextMenuItem> | ` List`  
ContextMenuObj SfContextMenu<Navigations.ContextMenuItem> | SfContextMenu<Navigations.MenuItem>  
  • In ContextMenuOpenEventArgs class, below property type changed.
Property Previous Type Current Type
Element DOM ElementReference

Treemap

Breaking Changes

Enumeration

  • The enumeration type TreeMapTheme is changed as Theme.

Properties

  • The following properties are deprecated in the treemap component.
Property Name Comments
UseGroupingSeparator This property is removed. Use EnableGroupingSeparator to achieve this functionality.
ModelType This property is removed.
EnablePersistence This property is deprecated.
Locale This property is deprecated. Hereafter, locale works based on the current culture set in the application.
  • The type of the below properties is changed.

In SfTreeMap class,

Property Name Previous Type Current Type
TabIndex double int
Query string Query

In other classes like TreeMapInitialDrillSettings, TreeMapLeafColorMapping and TreeMapLevelColorMapping,

Property Name Previous Type Current Type
TreeMapInitialDrillSettings.GroupIndex double int
TreeMapLeafColorMapping.Color object string[]
TreeMapLevelColorMapping.Color object string[]

Events

The data type of event argument is changed and listed below.

Previous Type Current Type
IPrintEventArgs PrintEventArgs
IItemClickEventArgs ItemClickEventArgs
IDoubleClickEventArgs DoubleClickEventArgs
IDrillEndEventArgs DrillEndEventArgs
IDrillStartEventArgs DrillStartEventArgs
IItemHighlightEventArgs ItemHighlightEventArgs
IItemMoveEventArgs ItemMoveEventArgs
IItemRenderingEventArgs ItemRenderingEventArgs
IItemSelectedEventArgs ItemSelectedEventArgs
ILegendItemRenderingEventArgs LegendItemRenderingEventArgs
ILegendRenderingEventArgs LegendRenderingEventArgs
ILoadEventArgs LoadEventArgs
ILoadedEventArgs LoadedEventArgs
IResizeEventArgs ResizeEventArgs
IMouseMoveEventArgs MouseMoveEventArgs
ITreeMapTooltipArgs TreeMapTooltipArgs

Methods

  • We have changed the arguments of the Print method.
Arguments Comments
id This argument is removed.
  • We have changed the arguments type and return type of the Export method.
Arguments Previous Type Current Type
orientation object PdfPageOrientation

Previous

<SfTreeMap @ref="treeMap" AllowPdfExport=true AllowImageExport=true>
    ...
</SfTreeMap>
@code {
    SfTreeMap<GDPReport> treeMap;
    private async Task Export()
    {
        await treeMap.Export(ExportType.PDF, "FileName", "Portrait");
    }
}

Now

<SfTreeMap @ref="treeMap" AllowPdfExport=true AllowImageExport=true>
    ...
</SfTreeMap>
@code {
    SfTreeMap<GDPReport> treeMap;
    private async Task Export()
    {
        await treeMap.Export(ExportType.PDF, "FileName", Syncfusion.PdfExport.PdfPageOrientation.Portrait);
    }
}

TreeView

Breaking Changes

  • You need to set the TValue with a named model for the TreeViewTemplates tag in the TreeView component.
  • The EnableHtmlSanitizer and HtmlAttributes are deprecated and will no longer be used.
  • DragArea property renamed as DropArea.
  • Must declare the TreeViewFieldSettings property values in class model.

Previous

 <SfTreeView TValue="TreeData">
    <TreeViewFieldsSettings Id="Id" Text="Name" ParentID="Pid" HasChildren="HasChild" DataSource="@LocalData"></TreeViewFieldsSettings>
    <TreeViewTemplates>
        <NodeTemplate>
            <div>
                <div class="treeviewdiv">
                    <div class="nodetext">
                        <span class="treeName">@((context as TreeData).Name)</span>
                    </div>
                    @{
                        @if (((context as TreeData).Count) != 0)
                        {
                            <div class="nodebadge">
                                <span class="treeCount e-badge e-badge-primary">@((context as TreeData).Count)</span>
                            </div>
                        }
                    }
                </div>
            </div>
        </NodeTemplate>
    </TreeViewTemplates>
</SfTreeView>

@code {
    List<TreeData> LocalData = new List<TreeData>();
    protected override void OnInitialized()
    {
        base.OnInitialized();
        LocalData.Add(new TreeData
        {
            Id = 1,
            Name = "Favorites",
            HasChild = true,
        });
        LocalData.Add(new TreeData
        {
            Id = 2,
            Pid = 1,
            Name = "Sales Reports",
            Count = 4
        });
        LocalData.Add(new TreeData
        {
            Id = 5,
            HasChild = true,
            Name = "My Folder"
        });
    }
    class TreeData
    {
        public int Id { get; set; }
        public int? Pid { get; set; }
        public string Name { get; set; }
        public bool HasChild { get; set; }
        public int Count { get; set; }
    }
}

Now

 <SfTreeView TValue="TreeData">
    <TreeViewFieldsSettings Id="Id" Text="Name" ParentID="Pid" HasChildren="HasChild" DataSource="@LocalData"></TreeViewFieldsSettings>
    <TreeViewTemplates TValue="TreeData">
        <NodeTemplate>
            <div>
                <div class="treeviewdiv">
                    <div class="nodetext">
                        <span class="treeName">@((context as TreeData).Name)</span>
                    </div>
                    @{
                        @if (((context as TreeData).Count) != 0)
                        {
                            <div class="nodebadge">
                                <span class="treeCount e-badge e-badge-primary">@((context as TreeData).Count)</span>
                            </div>
                        }
                    }
                </div>
            </div>
        </NodeTemplate>
    </TreeViewTemplates>
</SfTreeView>

@code {
    List<TreeData> LocalData = new List<TreeData>();
    protected override void OnInitialized()
    {
        base.OnInitialized();
        LocalData.Add(new TreeData
        {
            Id = "1",
            Name = "Favorites",
            HasChild = true,
        });
        LocalData.Add(new TreeData
        {
            Id = "2",
            Pid = "1",
            Name = "Sales Reports",
            Count = 4
        });
        LocalData.Add(new TreeData
        {
            Id = "5",
            HasChild = true,
            Name = "My Folder"
        });
    }
    class TreeData
    {
        public string Id { get; set; }
        public string Pid { get; set; }
        public string Name { get; set; }
        public bool HasChild { get; set; }
        public int Count { get; set; }
    }
}
  • ExpandOn property enum value ExpandOnSetting has been renamed to ExpandAction.
Property Default Value (Before v18.3.0.35) Default Value (From v18.3.0.35)
ExpandOn Auto DoubleClick

Here, some deprecated properties and their equivalent alternatives listed below.

Property (Deprecated) Alternative (From v18.3.0.35)
ExpandOnSetting.DblClick Use the ExpandAction.DoubleClick to acheive the same behavior.
Fields Use the TreeViewFieldSetting tag to assign the values.
Animation Use the TreeViewNodeAnimationSetting tag to assign the values.
TreeViewTemplates Use the TreeViewTemplates tag to assign the values.
TreeviewNodeAnimationSettings.Expand Use the TreeViewAnimationExpand tag to assing the values.
TreeviewNodeAnimationSettings.Collapse Use the TreeViewAnimationCollapse tag to assing the values.
  • The methods AddNodes, RemoveNodes, BeginEdit, GetAllCheckedNodes, UpdateNode, Refresh, GetRootElement, MoveNodes are deprecated and will no longer be used.
Method Name Previous Param (Before v18.3.0.35) Current Param (From v18.3.0.35)
EnsureVisible object nodeID string nodeID
GetNode object nodeID string nodeID
GetTreeData object nodeID string? nodeID
RefreshNode object target, object newData string target, List newData
DisableNodes object nodesID string[] nodesID
EnableNodes object nodesID string[] nodesID
CheckAll object nodes -
UncheckAll object nodes -
CollapseAll object nodes, Nullable level, Nullable excludeHiddenNodes -
ExpandAll object nodes, Nullable level, Nullable excludeHiddenNodes -
  • Event name OnDrawNode renamed as OnNodeRender and its type changes listed below.
Previous Event Type (Before v18.3.0.35) Current Event Type (From v18.3.0.35)
DrawNodeEventArgs<TValue> NodeRenderEventArgs<TValue>
  • The DOM Node parameter of OnKeyPress, NodeChecked, NodeChecking, OnNodeDragStart, OnNodeDragged, NodeDropped event argument is deprecated.

Note: Use the NodeData argument as replacement of previous DOM Node to get the required node details.

Event Name Deprecated Argument (From v18.3.0.35) New Argument (From v18.3.0.35)
OnActionFailure object Error Exception Error
string Name
DataBound - string Name
DataSourceChanged - string Name
OnNodeRender DOM Node ElementReference Node
string Name
OnKeyPress DOM Node NodeData NodeData
string Name
NodeChecking DOM Node
NodeData Data
ElementReference Node
NodeData NodeData
string Name
NodeChecked DOM Node
NodeData Data
ElementReference Node
NodeData NodeData
string Name
NodeClicked DOM Node NodeData NodeData
double Left
double Top
string Name
NodeCollapsing DOM Node
NodeData Data
ElementReference Node
NodeData NodeData
string Name
NodeCollapsed DOM Node
NodeData Data
ElementReference Node
NodeData NodeData
string Name
OnNodeDragStart DOM ClonedNode
DOM DraggedNode
DOM DraggedParentNode
DOM DropTarget
DOM DroppedNode
DOM Target
double Left
double Top
string Name
OnNodeDragStop DOM ClonedNode
DOM DraggedNode
DOM DraggedParentNode
DOM DropTarget
DOM DroppedNode
DOM Target
double Left
double Top
string Name
OnNodeDragged DOM ClonedNode
DOM DraggedNode
DOM DraggedParentNode
DOM DropTarget
DOM DroppedNode
DOM Target
double Left
double Top
string Name
NodeDropped DOM ClonedNode
DOM DraggedNode
DOM DraggedParentNode
DOM DropTarget
DOM DroppedNode
DOM Target
double Left
double Top
string Name
NodeEditing DOM Node
NodeData Data
ElementReference Node
NodeData NodeData
string Name
NodeEdited DOM Node
NodeData Data
ElementReference Node
NodeData NodeData
string Name
NodeExpanding DOM Node
NodeData Data
ElementReference Node
NodeData NodeData
string Name
NodeExpanded DOM Node
NodeData Data
ElementReference Node
NodeData NodeData
string Name
NodeSelecting DOM Node
NodeData Data
ElementReference Node
NodeData NodeData
string Name
NodeSelected DOM Node
NodeData Data
ElementReference Node
NodeData NodeData
string Name

Bug Fixes

  • ## 293176 - The issue with the “TreeView node is not selected on the first click” has been resolved.

  • F156694 - Improved the performance of the TreeView component while expanding all the nodes.

  • ## 279509 - Resolved the “System.IO.InvalidDataException” in the TreeView component while adding large number of nodes.

Visual Studio Extensions

Bug Fixes

  • ## 289415 – The delete operation has been added for the grid control in Scaffolding.

New Features

  • Blazor Project Template: Provided the user interface support for the project templates to create Blazor apps using the Syncfusion Blazor components.
  • Upgraded the .NET Core 5.0.0-rc.1 Project Template.