diff --git a/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/Code/SelectListMultipleExampleCode.html b/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/Code/SelectListMultipleExampleCode.html
index 3ca1f22dfb..fe1b4839a2 100644
--- a/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/Code/SelectListMultipleExampleCode.html
+++ b/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/Code/SelectListMultipleExampleCode.html
@@ -1,12 +1,12 @@
<SelectList TItem="MyFruitModel"
- TValue="int"
+ TValue="IReadOnlyList<int>"
Data="@IndexedFruits"
TextField="@((item)=>item.Name)"
ValueField="@((item)=>item.Id)"
Multiple
- @bind-SelectedValues="@selectedListValues"
+ @bind-Value="@selectedListValues"
DefaultItemText="Choose your fruit" />
diff --git a/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/Examples/SelectListExample.razor b/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/Examples/SelectListExample.razor
index 31dac6cfc8..3a0ae812b4 100644
--- a/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/Examples/SelectListExample.razor
+++ b/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/Examples/SelectListExample.razor
@@ -5,7 +5,7 @@
Data="@IndexedCountries"
TextField="@((item)=>item.Name)"
ValueField="@((item)=>item.Id)"
- @bind-SelectedValue="@selectedListValue"
+ @bind-Value="@selectedListValue"
DefaultItemText="Choose your country" />
@code {
diff --git a/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/Examples/SelectListMultipleExample.razor b/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/Examples/SelectListMultipleExample.razor
index e481021350..b219e06cf4 100644
--- a/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/Examples/SelectListMultipleExample.razor
+++ b/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/Examples/SelectListMultipleExample.razor
@@ -1,12 +1,12 @@
@namespace Blazorise.Docs.Docs.Examples
@code {
diff --git a/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/SelectListPage.razor b/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/SelectListPage.razor
index 39dab16d45..e8c610b37d 100644
--- a/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/SelectListPage.razor
+++ b/Documentation/Blazorise.Docs/Pages/Docs/Extensions/SelectList/SelectListPage.razor
@@ -46,7 +46,7 @@
- Just like with a regular Select
component, add the Multiple
parameter to allow more than one option to be selected. Also, bind the SelectedValues
parameter.
+ Just like with a regular Select
component, add the Multiple
parameter to allow more than one option to be selected. Also, bind the Value
parameter.
diff --git a/Documentation/Blazorise.Docs/Pages/Docs/Helpers/Localization/Examples/ITextLocalizerServiceExample.razor b/Documentation/Blazorise.Docs/Pages/Docs/Helpers/Localization/Examples/ITextLocalizerServiceExample.razor
index 0a69490d13..be65f2eeaf 100644
--- a/Documentation/Blazorise.Docs/Pages/Docs/Helpers/Localization/Examples/ITextLocalizerServiceExample.razor
+++ b/Documentation/Blazorise.Docs/Pages/Docs/Helpers/Localization/Examples/ITextLocalizerServiceExample.razor
@@ -12,7 +12,7 @@
Data="@LocalizationService.AvailableCultures"
TextField="@((item)=>item.IsNeutralCulture ? item.EnglishName : item.Parent.EnglishName)"
ValueField="@((item)=>item.Name)"
- @bind-SelectedValue="selectedCulture"
+ @bind-Value="selectedCulture"
DefaultItemText="Choose your culture" />
diff --git a/Source/Blazorise/Base/BaseLinkComponent.cs b/Source/Blazorise/Base/BaseLinkComponent.cs
index 78d568950b..ac0542c7c5 100644
--- a/Source/Blazorise/Base/BaseLinkComponent.cs
+++ b/Source/Blazorise/Base/BaseLinkComponent.cs
@@ -48,7 +48,7 @@ protected override void OnParametersSet()
if ( Attributes is not null && Attributes.TryGetValue( "href", out var href ) )
To = $"{href}";
- if ( To is not null && To.StartsWith( "#" ) )
+ if ( To is not null && To.StartsWith( '#' ) )
{
// If the href contains an anchor link we don't want the default click action to occur, but
// rather take care of the click in our own method.
diff --git a/Source/Blazorise/Components/DatePicker/DatePicker.razor.cs b/Source/Blazorise/Components/DatePicker/DatePicker.razor.cs
index 4c0cd81191..709a045246 100644
--- a/Source/Blazorise/Components/DatePicker/DatePicker.razor.cs
+++ b/Source/Blazorise/Components/DatePicker/DatePicker.razor.cs
@@ -52,7 +52,7 @@ protected override async Task OnBeforeSetParametersAsync( ParameterView paramete
var disabledChanged = parameters.TryGetValue( nameof( Disabled ), out bool paramDisabled ) && Disabled != paramDisabled;
var readOnlyChanged = parameters.TryGetValue( nameof( ReadOnly ), out bool paramReadOnly ) && ReadOnly != paramReadOnly;
var disabledDatesChanged = parameters.TryGetValue( nameof( DisabledDates ), out IEnumerable paramDisabledDates ) && !DisabledDates.AreEqual( paramDisabledDates );
- var enabledDatesChanged = parameters.TryGetValue( nameof( EnabledDates ), out IEnumerable? paramEnabledDates ) && !EnabledDates.AreEqual( paramEnabledDates );
+ var enabledDatesChanged = parameters.TryGetValue( nameof( EnabledDates ), out IEnumerable paramEnabledDates ) && !EnabledDates.AreEqual( paramEnabledDates );
var disabledDaysChanged = parameters.TryGetValue( nameof( DisabledDays ), out IEnumerable paramDisabledDays ) && !DisabledDays.AreEqual( paramDisabledDays );
var selectionModeChanged = parameters.TryGetValue( nameof( SelectionMode ), out DateInputSelectionMode paramSelectionMode ) && !SelectionMode.IsEqual( paramSelectionMode );
var inlineChanged = parameters.TryGetValue( nameof( Inline ), out bool paramInline ) && Inline != paramInline;
diff --git a/Source/Blazorise/Components/FileEdit/FileEdit.razor.cs b/Source/Blazorise/Components/FileEdit/FileEdit.razor.cs
index 3365fc399f..a89caaa84d 100644
--- a/Source/Blazorise/Components/FileEdit/FileEdit.razor.cs
+++ b/Source/Blazorise/Components/FileEdit/FileEdit.razor.cs
@@ -31,8 +31,6 @@ public partial class FileEdit : BaseInputComponent, IFileEdit,
// taken from https://github.com/aspnet/AspNetCore/issues/11159
private DotNetObjectReference dotNetObjectRef;
- private IFileEntry[] files;
-
#endregion
#region Methods
diff --git a/Source/Blazorise/Components/InputMask/InputMask.razor.cs b/Source/Blazorise/Components/InputMask/InputMask.razor.cs
index e44db49712..d57c943b68 100644
--- a/Source/Blazorise/Components/InputMask/InputMask.razor.cs
+++ b/Source/Blazorise/Components/InputMask/InputMask.razor.cs
@@ -185,7 +185,7 @@ public Task NotifyCleared()
[Parameter] public string InputFormat { get; set; }
///
- /// Defines the output format of the when the is used.
+ /// Defines the output format of the when the is used.
///
[Parameter] public string OutputFormat { get; set; }
diff --git a/Source/Blazorise/Components/NumericEdit/NumericEdit.razor.cs b/Source/Blazorise/Components/NumericEdit/NumericEdit.razor.cs
index 3a335904ea..7c6837cd86 100644
--- a/Source/Blazorise/Components/NumericEdit/NumericEdit.razor.cs
+++ b/Source/Blazorise/Components/NumericEdit/NumericEdit.razor.cs
@@ -14,7 +14,7 @@ namespace Blazorise;
///
/// An editor that displays a numeric value and allows a user to edit the value.
///
-/// Data-type to be binded by the property.
+/// Data-type to be binded by the property.
public partial class NumericEdit : BaseTextInput, IAsyncDisposable
{
#region Members
diff --git a/Source/Blazorise/Components/NumericPicker/NumericPicker.razor.cs b/Source/Blazorise/Components/NumericPicker/NumericPicker.razor.cs
index a9b589416b..c7c9946b40 100644
--- a/Source/Blazorise/Components/NumericPicker/NumericPicker.razor.cs
+++ b/Source/Blazorise/Components/NumericPicker/NumericPicker.razor.cs
@@ -17,7 +17,7 @@ namespace Blazorise;
///
/// An editor that displays a numeric value and allows a user to edit the value.
///
-/// Data-type to be binded by the property.
+/// Data-type to be binded by the property.
public partial class NumericPicker : BaseTextInput, INumericPicker, IAsyncDisposable
{
#region Members
diff --git a/Source/Blazorise/Components/Slider/Slider.razor.cs b/Source/Blazorise/Components/Slider/Slider.razor.cs
index 00158b5115..b815e303df 100644
--- a/Source/Blazorise/Components/Slider/Slider.razor.cs
+++ b/Source/Blazorise/Components/Slider/Slider.razor.cs
@@ -13,7 +13,7 @@ namespace Blazorise;
///
/// A slider to select a value from a given range.
///
-/// Data-type to be binded by the property.
+/// Data-type to be binded by the property.
public partial class Slider : BaseInputComponent
{
#region Members
@@ -39,8 +39,8 @@ protected override async Task OnBeforeSetParametersAsync( ParameterView paramete
// This make sure we know that Min or Max parameters are defined and can be checked against the current value.
// Without we cannot determine if Min or Max has a default value when TValue is non-nullable type.
- minDefined = parameters.TryGetValue( nameof( Min ), out var min );
- maxDefined = parameters.TryGetValue( nameof( Max ), out var max );
+ minDefined = parameters.TryGetValue( nameof( Min ), out var _ );
+ maxDefined = parameters.TryGetValue( nameof( Max ), out var _ );
}
///
diff --git a/Source/Blazorise/Licensing/BlazoriseLicenseProvider.cs b/Source/Blazorise/Licensing/BlazoriseLicenseProvider.cs
index 87a5f7de5b..7bf9a29223 100644
--- a/Source/Blazorise/Licensing/BlazoriseLicenseProvider.cs
+++ b/Source/Blazorise/Licensing/BlazoriseLicenseProvider.cs
@@ -15,10 +15,29 @@ public sealed class BlazoriseLicenseProvider
{
#region Members
+ ///
+ /// Defines the default maximum rows for the unlicensed user.
+ ///
public const int DEFAULT_UNLICENSED_LIMIT_DATAGRID_MAX_ROWS = 1000;
+
+ ///
+ /// Defines the default maximum rows for the unlicensed user.
+ ///
public const int DEFAULT_UNLICENSED_LIMIT_AUTOCOMPLETE_MAX_ROWS = 1000;
+
+ ///
+ /// Defines the default maximum rows for the unlicensed user.
+ ///
public const int DEFAULT_UNLICENSED_LIMIT_CHARTS_MAX_ROWS = 10;
+
+ ///
+ /// Defines the default maximum rows for the unlicensed user.
+ ///
public const int DEFAULT_UNLICENSED_LIMIT_LISTVIEW_MAX_ROWS = 1000;
+
+ ///
+ /// Defines the default maximum rows for the unlicensed user.
+ ///
public const int DEFAULT_UNLICENSED_LIMIT_TREEVIEW_MAX_ROWS = 100;
private static readonly Assembly CurrentAssembly = typeof( BlazoriseLicenseProvider ).Assembly;
diff --git a/Source/Blazorise/Utilities/Builders/ReverseStringBuilder.cs b/Source/Blazorise/Utilities/Builders/ReverseStringBuilder.cs
index 382e00694e..fd2a9977ff 100644
--- a/Source/Blazorise/Utilities/Builders/ReverseStringBuilder.cs
+++ b/Source/Blazorise/Utilities/Builders/ReverseStringBuilder.cs
@@ -122,7 +122,7 @@ private sealed class SequenceSegment : ReadOnlySequenceSegment, IDisposabl
{
private readonly char[] _array;
- public SequenceSegment( char[] array, SequenceSegment? next = null )
+ public SequenceSegment( char[] array, SequenceSegment next = null )
{
_array = array;
Memory = array;
diff --git a/Source/Blazorise/Utilities/Expressions/ExpressionFormatter.cs b/Source/Blazorise/Utilities/Expressions/ExpressionFormatter.cs
index 52ae716be3..9366c05958 100644
--- a/Source/Blazorise/Utilities/Expressions/ExpressionFormatter.cs
+++ b/Source/Blazorise/Utilities/Expressions/ExpressionFormatter.cs
@@ -52,7 +52,7 @@ public static string FormatLambda( LambdaExpression expression )
/// The lambda expression to format.
/// The prefix to prepend to the formatted string.
/// The formatted string representation of the lambda expression with the prefix.
- public static string FormatLambda( LambdaExpression expression, string? prefix = null )
+ public static string FormatLambda( LambdaExpression expression, string prefix = null )
{
var builder = new ReverseStringBuilder( stackalloc char[StackAllocBufferSize] );
var node = expression.Body;
diff --git a/Source/Blazorise/Utilities/Formatters/Converters.cs b/Source/Blazorise/Utilities/Formatters/Converters.cs
index e61ad14e7e..7833f5bbf5 100644
--- a/Source/Blazorise/Utilities/Formatters/Converters.cs
+++ b/Source/Blazorise/Utilities/Formatters/Converters.cs
@@ -500,5 +500,65 @@ public static TValue ConvertCsvToReadOnlyList( string csv, string delimi
}
}
+ ///
+ /// Converts a list of objects into a specified type of array or .
+ ///
+ /// The target type, which must be either an array or a generic .
+ /// The list of objects to be converted.
+ ///
+ /// A converted instance of the specified type (), either an array or a populated with the elements from .
+ ///
+ /// Thrown if the target type is not an array or a generic .
+ /// Thrown if an element in cannot be cast to the target element type.
+ public static TValue ConvertListToReadOnlyList( List