Using bind
All checks were successful
Game Ideas build for PR / build_blazor_app (pull_request) Successful in 47s

This commit is contained in:
2025-04-13 23:51:09 +02:00
parent 879be55442
commit e523b19f8e
4 changed files with 15 additions and 54 deletions

View File

@@ -7,20 +7,20 @@
<div class="duplicate">
<SelectSearch TItem="PlatformDto" Placeholder="@ResourcesKey.Platforms" GetLabel="@(p => p.Label)"
ValuesChanged=HandlePlatformsChanged Values=GameFilter.Platforms Theme="Theme" Items="Categories?.Platforms" />
@bind-Values=GameFilter.Platforms @bind-Values:after=HandleValueChanged Theme="Theme" Items="Categories?.Platforms" />
<SelectSearch TItem="TagDto" Placeholder="@ResourcesKey.Tags" GetLabel="@(p => p.Label)"
ValuesChanged=HandleTagsChanged Values=GameFilter.Tags Theme="Theme" Items="Categories?.Tags" />
@bind-Values=GameFilter.Tags @bind-Values:after=HandleValueChanged Theme="Theme" Items="Categories?.Tags" />
</div>
<SelectSearch TItem="PropertyDto" Placeholder="@ResourcesKey.Properties" GetLabel="@(p => p.Label)"
ValuesChanged=HandlePropertiesChanged Values=GameFilter.Properties Theme="Theme" Items="Categories?.Properties" />
@bind-Values=GameFilter.Properties @bind-Values:after=HandleValueChanged Theme="Theme" Items="Categories?.Properties" />
<SelectSearch TItem="DeveloperDto" Placeholder="@ResourcesKey.Developers" GetLabel="@(p => p.Name)"
ValuesChanged=HandleDevelopersChanged Values=GameFilter.Developers Theme="Theme" Items="Categories?.Developers" />
@bind-Values=GameFilter.Developers @bind-Values:after=HandleValueChanged Theme="Theme" Items="Categories?.Developers" />
<SelectSearch TItem="PublisherDto" Placeholder="@ResourcesKey.Publishers" GetLabel="@(p => p.Name)"
ValuesChanged=HandlePublishersChanged Values=GameFilter.Publishers Theme="Theme" Items="Categories?.Publishers" />
@bind-Values=GameFilter.Publishers @bind-Values:after=HandleValueChanged Theme="Theme" Items="Categories?.Publishers" />
<span class="title">@ResourcesKey.LastAdd</span>
</div>

View File

@@ -12,29 +12,8 @@ public partial class AdvancedGameFilter
private readonly SelectTheme Theme = SelectTheme.AdvancedFilter;
private async Task HandlePublishersChanged(List<PublisherDto> args)
private async Task HandleValueChanged()
{
GameFilter.Publishers = args;
await GameFilterChanged.InvokeAsync(GameFilter);
}
private async Task HandleDevelopersChanged(List<DeveloperDto> args)
{
GameFilter.Developers = args;
await GameFilterChanged.InvokeAsync(GameFilter);
}
private async Task HandlePropertiesChanged(List<PropertyDto> args)
{
GameFilter.Properties = args;
await GameFilterChanged.InvokeAsync(GameFilter);
}
private async Task HandleTagsChanged(List<TagDto> args)
{
GameFilter.Tags = args;
await GameFilterChanged.InvokeAsync(GameFilter);
}
private async Task HandlePlatformsChanged(List<PlatformDto> args)
{
GameFilter.Platforms = args;
await GameFilterChanged.InvokeAsync(GameFilter);
}
}

View File

@@ -30,24 +30,24 @@
</div>
<div class="search-container">
<SearchInput TextChanged=HandleTitleChanged Text="@Value.Title"
<SearchInput @bind-Text="@Value.Title"
Placeholder="@ResourcesKey.Research" />
</div>
<div class="select-container">
<SelectSearch TItem="PlatformDto" Placeholder="@ResourcesKey.Platforms" GetLabel="@(p => p.Label)"
ValuesChanged=HandlePlatformsChanged Values=Value.Platforms Theme="SelectTheme.Filter" Items="Categories?.Platforms" />
@bind-Values=Value.Platforms @bind-Values:after="HandleValueChanged" Theme="SelectTheme.Filter" Items="Categories?.Platforms" />
</div>
<div class="select-container">
<SelectSearch TItem="TagDto" Placeholder="@ResourcesKey.Tags" GetLabel="@(p => p.Label)"
ValuesChanged=HandleTagsChanged Values=Value.Tags Theme="SelectTheme.Filter" Items="Categories?.Tags" />
@bind-Values=Value.Tags @bind-Values:after="HandleValueChanged" Theme="SelectTheme.Filter" Items="Categories?.Tags" />
</div>
<div class="slider-container">
<SliderRange Params="SliderRangeParams"
MaxChanged=HandleMaxChanged Max="Value.MaxInterest"
MinChanged=HandleMinChanged Min="Value.MinInterest" />
@bind-Max="Value.MaxInterest" @bind-Max:after="HandleValueChanged"
@bind-Min="Value.MinInterest" @bind-Min:after="HandleValueChanged" />
</div>
</div>

View File

@@ -48,39 +48,21 @@ public partial class GameFilter
DisplayType = displayType;
await DisplayTypeChanged.InvokeAsync(displayType);
}
private async Task HandleSortTypeClicked(IEnumerable<SortTypeDto> sortTypes)
{
Value.SortType = sortTypes.FirstOrDefault();
await ValueChanged.InvokeAsync(Value);
}
private async Task HandleSortPropertyClicked(IEnumerable<SortPropertyDto> sortProperties)
{
Value.SortProperty = sortProperties.FirstOrDefault();
await ValueChanged.InvokeAsync(Value);
}
private async Task HandleTagsChanged(List<TagDto> args)
private async Task HandleValueChanged()
{
Value.Tags = args;
await ValueChanged.InvokeAsync(Value);
}
private async Task HandleMinChanged(int args)
{
Value.MinInterest = args;
await ValueChanged.InvokeAsync(Value);
}
private async Task HandleMaxChanged(int args)
{
Value.MaxInterest = args;
await ValueChanged.InvokeAsync(Value);
}
private async Task HandlePlatformsChanged(List<PlatformDto> args)
{
Value.Platforms = args;
await ValueChanged.InvokeAsync(Value);
}
private async Task HandleTitleChanged(string args)
{
Value.Title = args;
await ValueChanged.InvokeAsync(Value);
}
}