move filter to switch with badge

This commit is contained in:
Tobias Wohlleben 2024-09-19 17:31:33 +02:00
parent 0bec67fa80
commit ff1ebac99a
2 changed files with 11 additions and 15 deletions

View File

@ -1,33 +1,33 @@
@using RBLFeederCommon.Enums @using RBLFeederCommon.Enums
<Switch @ref="this._switchFilter" Label="@Text" ValueChanged="this.SwitchChanged" /> <Switch Class="mt-3" Value="this._filter" Label="@this.Text" ValueExpression="() => this._filter" ValueChanged="SwitchChanged" />
@code { @code {
private Switch _switchFilter = default!;
private bool _filter = true; private bool _filter = true;
[Parameter] [Parameter]
public RssFeedSources Source { get; set; } public RssFeedSources Source { get; set; }
[Parameter] [Parameter]
public string Text { get; set; } = ""; public string Text { get; set; } = "";
[Parameter] [Parameter]
public bool ShowCount { get; set; } public bool ShowCount { get; set; }
[Parameter] [Parameter]
public int Count { get; set; } public int Count { get; set; }
[Parameter] [Parameter]
public EventCallback<RssFeedSources> OnClickedCallback { get; set; } public EventCallback<RssFeedSources> OnClickedCallback { get; set; }
Task SwitchChanged(bool value) Task SwitchChanged(bool value)
{ {
this._filter = value; this._filter = value;
OnClickedCallback.InvokeAsync(Source); OnClickedCallback.InvokeAsync(Source);
return Task.CompletedTask; return Task.CompletedTask;
} }

View File

@ -126,21 +126,17 @@ else
} }
private void OnClicked(RssFeedSources source) private void OnClicked(RssFeedSources source, bool value)
{ {
if (activeFilters.Contains(source)) if (activeFilters.Contains(source))
{
activeFilters.Remove(source); activeFilters.Remove(source);
}
else else
{ {
activeFilters.Add(source); activeFilters.Add(source);
} }
if (!activeFilters.Any())
{
FeedGroups = [.. FeedDataService.Feeds.FeedGroups];
return;
}
FeedGroups = new List<FeedGroupVM>(); FeedGroups = new List<FeedGroupVM>();
foreach (FeedGroupVM fg in FeedDataService.Feeds.FeedGroups) foreach (FeedGroupVM fg in FeedDataService.Feeds.FeedGroups)
{ {