Rework select component #14
@@ -7,20 +7,20 @@
|
|||||||
|
|
||||||
<div class="duplicate">
|
<div class="duplicate">
|
||||||
<SelectSearch TItem="PlatformDto" Placeholder="@ResourcesKey.Platforms" GetLabel="@(p => p.Label)"
|
<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)"
|
<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>
|
</div>
|
||||||
|
|
||||||
<SelectSearch TItem="PropertyDto" Placeholder="@ResourcesKey.Properties" GetLabel="@(p => p.Label)"
|
<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)"
|
<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)"
|
<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>
|
<span class="title">@ResourcesKey.LastAdd</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -12,29 +12,8 @@ public partial class AdvancedGameFilter
|
|||||||
|
|
||||||
private readonly SelectTheme Theme = SelectTheme.AdvancedFilter;
|
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);
|
await GameFilterChanged.InvokeAsync(GameFilter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -30,24 +30,24 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="search-container">
|
<div class="search-container">
|
||||||
<SearchInput TextChanged=HandleTitleChanged Text="@Value.Title"
|
<SearchInput @bind-Text="@Value.Title"
|
||||||
Placeholder="@ResourcesKey.Research" />
|
Placeholder="@ResourcesKey.Research" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="select-container">
|
<div class="select-container">
|
||||||
<SelectSearch TItem="PlatformDto" Placeholder="@ResourcesKey.Platforms" GetLabel="@(p => p.Label)"
|
<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>
|
||||||
|
|
||||||
<div class="select-container">
|
<div class="select-container">
|
||||||
<SelectSearch TItem="TagDto" Placeholder="@ResourcesKey.Tags" GetLabel="@(p => p.Label)"
|
<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>
|
||||||
|
|
||||||
<div class="slider-container">
|
<div class="slider-container">
|
||||||
<SliderRange Params="SliderRangeParams"
|
<SliderRange Params="SliderRangeParams"
|
||||||
MaxChanged=HandleMaxChanged Max="Value.MaxInterest"
|
@bind-Max="Value.MaxInterest" @bind-Max:after="HandleValueChanged"
|
||||||
MinChanged=HandleMinChanged Min="Value.MinInterest" />
|
@bind-Min="Value.MinInterest" @bind-Min:after="HandleValueChanged" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -48,39 +48,21 @@ public partial class GameFilter
|
|||||||
DisplayType = displayType;
|
DisplayType = displayType;
|
||||||
await DisplayTypeChanged.InvokeAsync(displayType);
|
await DisplayTypeChanged.InvokeAsync(displayType);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task HandleSortTypeClicked(IEnumerable<SortTypeDto> sortTypes)
|
private async Task HandleSortTypeClicked(IEnumerable<SortTypeDto> sortTypes)
|
||||||
{
|
{
|
||||||
Value.SortType = sortTypes.FirstOrDefault();
|
Value.SortType = sortTypes.FirstOrDefault();
|
||||||
await ValueChanged.InvokeAsync(Value);
|
await ValueChanged.InvokeAsync(Value);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task HandleSortPropertyClicked(IEnumerable<SortPropertyDto> sortProperties)
|
private async Task HandleSortPropertyClicked(IEnumerable<SortPropertyDto> sortProperties)
|
||||||
{
|
{
|
||||||
Value.SortProperty = sortProperties.FirstOrDefault();
|
Value.SortProperty = sortProperties.FirstOrDefault();
|
||||||
await ValueChanged.InvokeAsync(Value);
|
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);
|
await ValueChanged.InvokeAsync(Value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user