Fix input text
All checks were successful
Game Ideas build for PR / build_blazor_app (pull_request) Successful in 40s

This commit is contained in:
Maxime Adler
2025-04-15 14:04:43 +02:00
parent 01ada94adb
commit 392a613094
4 changed files with 25 additions and 10 deletions

View File

@@ -6,6 +6,8 @@
type="text" type="text"
class="search-field" class="search-field"
placeholder="@Placeholder" placeholder="@Placeholder"
disabled="@IsDisable"
style="@(IsDisable ? "pointer-events: none" : "")"
@bind=@Text @bind=@Text
@bind:event="oninput" @bind:event="oninput"
@bind:after=HandleTextChanged @bind:after=HandleTextChanged

View File

@@ -8,6 +8,7 @@ public partial class SearchInput
{ {
[Parameter] public string? Text { get; set; } [Parameter] public string? Text { get; set; }
[Parameter] public string? Placeholder { get; set; } [Parameter] public string? Placeholder { get; set; }
[Parameter] public bool IsDisable { get; set; }
[Parameter] public EventCallback<string> TextChanged { get; set; } [Parameter] public EventCallback<string> TextChanged { get; set; }
[Parameter] public EventCallback ClearClicked { get; set; } [Parameter] public EventCallback ClearClicked { get; set; }
[Parameter] public EventCallback SearchClicked { get; set; } [Parameter] public EventCallback SearchClicked { get; set; }
@@ -38,13 +39,19 @@ public partial class SearchInput
await ClearClicked.InvokeAsync(); await ClearClicked.InvokeAsync();
} }
private async Task HandleSearchClicked() private async Task HandleSearchClicked()
{
if (!IsDisable)
{ {
await SearchClicked.InvokeAsync(); await SearchClicked.InvokeAsync();
} }
}
private async Task HandleFocusIn() private async Task HandleFocusIn()
{
if (!IsDisable)
{ {
await FocusIn.InvokeAsync(); await FocusIn.InvokeAsync();
} }
}
private MarkupString GetSearchIcon() private MarkupString GetSearchIcon()
{ {

View File

@@ -24,11 +24,15 @@ public partial class Select<TItem, THeader>
private string AddLabel = string.Empty; private string AddLabel = string.Empty;
private EditContext? QuickAddEditContext; private EditContext? QuickAddEditContext;
public void Close() => public void Close()
{
IsContentOpen = false; IsContentOpen = false;
}
public void Open() => public void Open()
{
IsContentOpen = true; IsContentOpen = true;
}
protected override void OnInitialized() protected override void OnInitialized()
{ {
@@ -47,12 +51,14 @@ public partial class Select<TItem, THeader>
private void HandleButtonClicked() private void HandleButtonClicked()
{ {
if (!DisableClicked) if (!DisableClicked && IsContentOpen)
IsContentOpen = !IsContentOpen; Close();
if (!DisableClicked && !IsContentOpen)
Open();
} }
private void HandleContentClosed() => private void HandleContentClosed() => Close();
IsContentOpen = false;
private async Task HandleValueClicked(TItem value) private async Task HandleValueClicked(TItem value)
{ {

View File

@@ -5,12 +5,12 @@
@typeparam TItem @typeparam TItem
<Select @ref=Select TItem="TItem" THeader="string" Theme="Theme" Type="SelectType.Multiple" DisableClicked=true <Select @ref=Select TItem="TItem" THeader="string" Theme="Theme" Type="SelectType.Multiple"
Params="SelectParams" Values=Values ValuesChanged="HandleValuesChanged" QuickAdd=QuickAdd> Params="SelectParams" Values=Values ValuesChanged="HandleValuesChanged" QuickAdd=QuickAdd>
<div class="@SelectHelper.GetClassFromTheme(Theme)"> <div class="@SelectHelper.GetClassFromTheme(Theme)">
<SearchInput @ref=SearchInput Icon="SearchInputIcon.Dropdown" Placeholder="@Placeholder" <SearchInput @ref=SearchInput Icon="SearchInputIcon.Dropdown" Placeholder="@Placeholder"
TextChanged="HandleClearClicked" ClearClicked="HandleClearClicked" TextChanged="HandleClearClicked" ClearClicked="HandleClearClicked" IsDisable=QuickAdd
FocusIn="HandleFocusIn" SearchClicked="HandleFocusIn" /> FocusIn="HandleFocusIn" SearchClicked="HandleFocusIn" />
</div> </div>