Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
129 changes: 91 additions & 38 deletions blazorbootstrap/Components/Form/AutoComplete/AutoComplete.razor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@

AdditionalAttributes ??= new Dictionary<string, object>();

fieldIdentifier = FieldIdentifier.Create(ValueExpression);

Check warning on line 64 in blazorbootstrap/Components/Form/AutoComplete/AutoComplete.razor.cs

View workflow job for this annotation

GitHub Actions / Build and Deploy Job

Possible null reference argument for parameter 'accessor' in 'FieldIdentifier FieldIdentifier.Create<string?>(Expression<Func<string?>> accessor)'.

Check warning on line 64 in blazorbootstrap/Components/Form/AutoComplete/AutoComplete.razor.cs

View workflow job for this annotation

GitHub Actions / Build and Deploy Job

Possible null reference argument for parameter 'accessor' in 'FieldIdentifier FieldIdentifier.Create<string?>(Expression<Func<string?>> accessor)'.

// check the default value is assigned.
if (Value is not null && Value.Length > 0)
Expand Down Expand Up @@ -96,22 +96,30 @@
/// <summary>
/// Disables autocomplete.
/// </summary>
[AddedVersion("1.0.0")]
[Description("Disables autocomplete.")]
public void Disable() => Disabled = true;

/// <summary>
/// Enables autocomplete.
/// </summary>
[AddedVersion("1.0.0")]
[Description("Enables autocomplete.")]
public void Enable() => Disabled = false;

/// <summary>
/// Refresh the autocomplete data.
/// </summary>
/// <returns>Task</returns>
[AddedVersion("1.0.0")]
[Description("Refresh the autocomplete data.")]
public async Task RefreshDataAsync() => await FilterDataAsync();

/// <summary>
/// Resets the autocomplete selection.
/// </summary>
[AddedVersion("1.0.0")]
[Description("Resets the autocomplete selection.")]
public async Task ResetAsync() => await ClearInputTextAsync();

/// <summary>
Expand Down Expand Up @@ -144,7 +152,7 @@
if (string.IsNullOrWhiteSpace(searchKey))
return;

var request = new AutoCompleteDataProviderRequest<TItem> { Filter = new FilterItem(PropertyName, searchKey, GetFilterOperator(), StringComparison), CancellationToken = cancellationToken };

Check warning on line 155 in blazorbootstrap/Components/Form/AutoComplete/AutoComplete.razor.cs

View workflow job for this annotation

GitHub Actions / Build and Deploy Job

Possible null reference argument for parameter 'propertyName' in 'FilterItem.FilterItem(string propertyName, string value, FilterOperator @operator, StringComparison stringComparison)'.

Check warning on line 155 in blazorbootstrap/Components/Form/AutoComplete/AutoComplete.razor.cs

View workflow job for this annotation

GitHub Actions / Build and Deploy Job

Possible null reference argument for parameter 'propertyName' in 'FilterItem.FilterItem(string propertyName, string value, FilterOperator @operator, StringComparison stringComparison)'.

if (DataProvider != null)
{
Expand Down Expand Up @@ -294,13 +302,16 @@

/// <summary>
/// Gets or sets the data provider.
/// <para>
/// Default value is <see langword="null"/>.
/// </para>
/// </summary>
/// <remarks>
/// Default value is null.
/// </remarks>
[Parameter]
[AddedVersion("1.0.0")]
[DefaultValue(null)]
[Description("Gets or sets the data provider.")]
[EditorRequired]
public AutoCompleteDataProviderDelegate<TItem> DataProvider { get; set; } = null!;
[Parameter]
public AutoCompleteDataProviderDelegate<TItem>? DataProvider { get; set; }

/// <summary>
/// Gets all Style attributes for the autocomplete delete button.
Expand All @@ -316,108 +327,150 @@

/// <summary>
/// Gets or sets the disabled state.
/// <para>
/// Default value is <see langword="false"/>.
/// </para>
/// </summary>
/// <remarks>
/// Default value is false.
/// </remarks>
[AddedVersion("1.0.0")]
[DefaultValue(false)]
[Description("Gets or sets the disabled state.")]
[Parameter]
public bool Disabled { get; set; }

[CascadingParameter] private EditContext EditContext { get; set; } = default!;
[CascadingParameter]
private EditContext EditContext { get; set; } = default!;

/// <summary>
/// Gets or sets the empty text.
/// </summary>
/// <remarks>
/// <para>
/// Default value is 'No records found.'.
/// </remarks>
/// </para>
/// </summary>
[AddedVersion("1.0.0")]
[DefaultValue("No records found.")]
[Description("Gets or sets the empty text.")]
[Parameter]
public string EmptyText { get; set; } = "No records found.";

private string fieldCssClasses => EditContext?.FieldCssClass(fieldIdentifier) ?? "";

/// <summary>
/// Gets or sets the loading text.
/// </summary>
/// <remarks>
/// <para>
/// Default value is 'Loading...'.
/// </remarks>
/// </para>
/// </summary>
[AddedVersion("1.0.0")]
[DefaultValue("Loading...")]
[Description("Gets or sets the loading text.")]
[Parameter]
public string LoadingText { get; set; } = "Loading...";

/// <summary>
/// This event fires immediately when the autocomplete selection changes by the user.
/// </summary>
[AddedVersion("1.0.0")]
[Description("This event fires immediately when the autocomplete selection changes by the user.")]
[Parameter]
public EventCallback<TItem> OnChanged { get; set; }

/// <summary>
/// Gets or sets the placeholder.
/// <para>
/// Default value is <see langword="null"/>.
/// </para>
/// </summary>
/// <remarks>
/// Default value is null.
/// </remarks>
[AddedVersion("1.0.0")]
[DefaultValue(null)]
[Description("Gets or sets the placeholder.")]
[Parameter]
public string? Placeholder { get; set; }

/// <summary>
/// Gets or sets the property name.
/// <para>
/// Default value is <see langword="null"/>.
/// </para>
/// </summary>
/// <remarks>
/// Default value is null.
/// </remarks>
[Parameter]
[AddedVersion("1.0.0")]
[DefaultValue(null)]
[Description("Gets or sets the property name.")]
[EditorRequired]
public string PropertyName { get; set; } = null!;
[Parameter]
public string? PropertyName { get; set; }

/// <summary>
/// Gets selected item.
/// </summary>
public TItem SelectedItem => selectedItem = default!;
[AddedVersion("1.0.0")]
[DefaultValue(null)]
[Description("Gets selected item.")]
public TItem? SelectedItem => selectedItem;

/// <summary>
/// Gets or sets the autocomplete size.
/// </summary>
/// <remarks>
/// <para>
/// Default value is <see cref="AutoCompleteSize.Default" />.
/// </remarks>
/// </para>
/// </summary>
[AddedVersion("1.0.0")]
[DefaultValue(AutoCompleteSize.Default)]
[Description("Gets or sets the autocomplete size.")]
[Parameter]
public AutoCompleteSize Size { get; set; } = AutoCompleteSize.Default;

/// <summary>
/// Gets or sets the StringComparison.
/// </summary>
/// <remarks>
/// <para>
/// Default value is <see cref="StringComparison.OrdinalIgnoreCase" />.
/// </remarks>
/// </para>
/// </summary>
[AddedVersion("1.0.0")]
[DefaultValue(StringComparison.OrdinalIgnoreCase)]
[Description("Gets or sets the StringComparison.")]
[Parameter]
public StringComparison StringComparison { get; set; } = StringComparison.OrdinalIgnoreCase;

/// <summary>
/// Gets or sets the string filter operator.
/// </summary>
/// <remarks>
/// <para>
/// Default value is <see cref="StringFilterOperator.Contains" />.
/// </remarks>
/// </para>
/// </summary>
[AddedVersion("1.0.0")]
[DefaultValue(StringFilterOperator.Contains)]
[Description("Gets or sets the string filter operator.")]
[Parameter]
public StringFilterOperator StringFilterOperator { get; set; } = StringFilterOperator.Contains;

/// <summary>
/// Gets or sets the value.
/// <para>
/// Default value is <see langword="null"/>.
/// </para>
/// </summary>
/// <remarks>
/// Default value is null.
/// </remarks>
[AddedVersion("1.0.0")]
[DefaultValue(null)]
[Description("Gets or sets the value.")]
[Parameter]
public string Value { get; set; } = default!;
public string? Value { get; set; }

/// <summary>
/// This is event fires on every user keystroke that changes the textbox value.
/// </summary>
[AddedVersion("1.0.0")]
[Description("This is event fires on every user keystroke that changes the textbox value.")]
[Parameter]
public EventCallback<string> ValueChanged { get; set; }

[Parameter] public Expression<Func<string?>> ValueExpression { get; set; } = default!;
/// <summary>
/// Gets or sets the value expression.
/// </summary>
[AddedVersion("1.0.0")]
[DefaultValue(null)]
[Description("Gets or sets the value expression.")]
[Parameter]
public Expression<Func<string?>>? ValueExpression { get; set; }

#endregion
}
15 changes: 12 additions & 3 deletions blazorbootstrap/Models/GridSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,27 @@ public class GridSettings
#region Properties, Indexers

/// <summary>
/// Current filters.
/// Gets or sets the filters.
/// </summary>
[AddedVersion("1.0.0")]
[DefaultValue(null)]
[Description("Gets or sets the filters.")]
public IEnumerable<FilterItem>? Filters { get; set; }

/// <summary>
/// Page number.
/// Gets or sets the page number.
/// </summary>
[AddedVersion("1.0.0")]
[DefaultValue(0)]
[Description("Gets or sets the page number.")]
public int PageNumber { get; set; }

/// <summary>
/// Size of the page.
/// Gets or sets the page size.
/// </summary>
[AddedVersion("1.0.0")]
[DefaultValue(0)]
[Description("Gets or sets the page size.")]
public int PageSize { get; set; }

#endregion
Expand Down
Loading