More teams view refinement
This commit is contained in:
@@ -77,6 +77,22 @@ public partial class TeamsViewModel : ViewModelBase
|
|||||||
private readonly ObservableCollection<string> _filteredTournaments = [];
|
private readonly ObservableCollection<string> _filteredTournaments = [];
|
||||||
public ObservableCollection<string> FilteredTournaments => _filteredTournaments;
|
public ObservableCollection<string> FilteredTournaments => _filteredTournaments;
|
||||||
|
|
||||||
|
public bool IsTournamentFilterEnabled => !string.IsNullOrWhiteSpace(SelectedEventFilter);
|
||||||
|
|
||||||
|
partial void OnSelectedEventFilterChanged(string? value)
|
||||||
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
SelectedTournamentFilter = null;
|
||||||
|
}
|
||||||
|
OnPropertyChanged(nameof(IsTournamentFilterEnabled));
|
||||||
|
UpdateFilteredTournaments();
|
||||||
|
if (!string.IsNullOrWhiteSpace(value))
|
||||||
|
{
|
||||||
|
_ = LoadTeams();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
partial void OnEventFilterSearchChanged(string value) => UpdateFilteredEvents();
|
partial void OnEventFilterSearchChanged(string value) => UpdateFilteredEvents();
|
||||||
|
|
||||||
partial void OnTournamentFilterSearchChanged(string value) => UpdateFilteredTournaments();
|
partial void OnTournamentFilterSearchChanged(string value) => UpdateFilteredTournaments();
|
||||||
@@ -93,7 +109,14 @@ public partial class TeamsViewModel : ViewModelBase
|
|||||||
private void UpdateFilteredTournaments()
|
private void UpdateFilteredTournaments()
|
||||||
{
|
{
|
||||||
_filteredTournaments.Clear();
|
_filteredTournaments.Clear();
|
||||||
foreach (var t in AvailableTournaments.Where(t => string.IsNullOrWhiteSpace(TournamentFilterSearch) || t.ToLower().Contains(TournamentFilterSearch.ToLower())))
|
if (string.IsNullOrWhiteSpace(SelectedEventFilter))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var t in AvailableTournaments
|
||||||
|
.Where(t => t.EndsWith($" @ {SelectedEventFilter}"))
|
||||||
|
.Where(t => string.IsNullOrWhiteSpace(TournamentFilterSearch) || t.ToLower().Contains(TournamentFilterSearch.ToLower())))
|
||||||
{
|
{
|
||||||
_filteredTournaments.Add(t);
|
_filteredTournaments.Add(t);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,7 +83,7 @@
|
|||||||
<!-- Tournament Filter Dropdown -->
|
<!-- Tournament Filter Dropdown -->
|
||||||
<Panel Name="TournamentFilterPanel">
|
<Panel Name="TournamentFilterPanel">
|
||||||
<ToggleButton Name="TournamentFilterToggle" HorizontalContentAlignment="Left" HorizontalAlignment="Stretch" Padding="8,6"
|
<ToggleButton Name="TournamentFilterToggle" HorizontalContentAlignment="Left" HorizontalAlignment="Stretch" Padding="8,6"
|
||||||
IsChecked="{Binding IsTournamentDropdownOpen}">
|
IsChecked="{Binding IsTournamentDropdownOpen}" IsEnabled="{Binding IsTournamentFilterEnabled}">
|
||||||
<ToggleButton.Template>
|
<ToggleButton.Template>
|
||||||
<ControlTemplate TargetType="ToggleButton">
|
<ControlTemplate TargetType="ToggleButton">
|
||||||
<Border Background="{TemplateBinding Background}" BorderBrush="Gray" BorderThickness="1" CornerRadius="4">
|
<Border Background="{TemplateBinding Background}" BorderBrush="Gray" BorderThickness="1" CornerRadius="4">
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
<ToggleButton.Content>
|
<ToggleButton.Content>
|
||||||
<Panel>
|
<Panel>
|
||||||
<TextBlock Text="{Binding SelectedTournamentFilter, Mode=OneWay}"/>
|
<TextBlock Text="{Binding SelectedTournamentFilter, Mode=OneWay}"/>
|
||||||
<TextBlock Text="Filter by tournament..." Foreground="Gray" IsVisible="{Binding SelectedTournamentFilter, Converter={x:Static ObjectConverters.IsNull}}"/>
|
<TextBlock Text="Select an event first..." Foreground="Gray" IsVisible="{Binding SelectedTournamentFilter, Converter={x:Static ObjectConverters.IsNull}}"/>
|
||||||
</Panel>
|
</Panel>
|
||||||
</ToggleButton.Content>
|
</ToggleButton.Content>
|
||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
|
|||||||
Reference in New Issue
Block a user