|
@@ -42,7 +42,7 @@ public partial class SelectionViewModel : PopupViewModel<object?[]>, IModuleView
|
|
|
[ObservableProperty]
|
|
|
private SelectionPageMode _selectionPageMode = SelectionPageMode.Immediate;
|
|
|
|
|
|
- public ObservableCollection<ButtonStripItem> FilterButtons { get; } = new();
|
|
|
+ public ObservableCollection<string> FilterButtons { get; } = new();
|
|
|
|
|
|
public ObservableCollection<SelectionViewButton> Buttons { get; } = new();
|
|
|
|
|
@@ -67,6 +67,9 @@ public partial class SelectionViewModel : PopupViewModel<object?[]>, IModuleView
|
|
|
[ObservableProperty]
|
|
|
private Action<object?[]>? _selected;
|
|
|
|
|
|
+ [ObservableProperty]
|
|
|
+ private object? _selectedFilter;
|
|
|
+
|
|
|
private object?[] _selectedItems = [];
|
|
|
|
|
|
public SelectionViewModel()
|
|
@@ -78,10 +81,7 @@ public partial class SelectionViewModel : PopupViewModel<object?[]>, IModuleView
|
|
|
{
|
|
|
foreach(var filter in filters)
|
|
|
{
|
|
|
- FilterButtons.Add(new()
|
|
|
- {
|
|
|
- Text = filter
|
|
|
- });
|
|
|
+ FilterButtons.Add(filter);
|
|
|
}
|
|
|
}
|
|
|
public void AddFilters(IEnumerable<string> filters) => DoAddFilters(filters);
|
|
@@ -98,7 +98,7 @@ public partial class SelectionViewModel : PopupViewModel<object?[]>, IModuleView
|
|
|
{
|
|
|
return Task.Run(() =>
|
|
|
{
|
|
|
- var result = Refresh?.Invoke(new(false, FilterButtons.FirstOrDefault(x => x.Selected)?.Text ?? ""));
|
|
|
+ var result = Refresh?.Invoke(new(false, SelectedFilter as string));
|
|
|
if (result is not null)
|
|
|
{
|
|
|
if (result is ICoreRepository repository)
|
|
@@ -120,6 +120,7 @@ public partial class SelectionViewModel : PopupViewModel<object?[]>, IModuleView
|
|
|
{
|
|
|
LastUpdated = repository.LastUpdated;
|
|
|
}
|
|
|
+ ItemsSource = null;
|
|
|
ItemsSource = result;
|
|
|
}
|
|
|
|