Browse Source

include shows in multiselect

pull/62/head
Jason Dove 5 years ago
parent
commit
4ccf30d0ba
  1. 41
      ErsatzTV/Pages/Search.razor

41
ErsatzTV/Pages/Search.razor

@ -22,17 +22,9 @@
<div style="margin-left: auto"> <div style="margin-left: auto">
<MudButton Variant="Variant.Filled" <MudButton Variant="Variant.Filled"
Color="Color.Primary" Color="Color.Primary"
StartIcon="@Icons.Material.Filled.Add" StartIcon="@Icons.Material.Filled.Add">
>
Add To Collection Add To Collection
</MudButton> </MudButton>
<MudButton Class="ml-3"
Variant="Variant.Filled"
Color="Color.Primary"
StartIcon="@Icons.Material.Filled.Schedule"
>
Add To Schedule
</MudButton>
<MudButton Class="ml-3" <MudButton Class="ml-3"
Variant="Variant.Filled" Variant="Variant.Filled"
Color="Color.Secondary" Color="Color.Secondary"
@ -87,7 +79,10 @@
{ {
<MediaCard Data="@card" <MediaCard Data="@card"
Link="@($"/media/tv/shows/{card.TelevisionShowId}")" Link="@($"/media/tv/shows/{card.TelevisionShowId}")"
AddToCollectionClicked="@AddToCollection"/> AddToCollectionClicked="@AddToCollection"
SelectClicked="@(e => SelectClicked(card, e))"
IsSelected="@_selectedCards.Contains(card)"
IsSelectMode="@_selectedCards.Any()"/>
} }
</MudContainer> </MudContainer>
} }
@ -113,24 +108,24 @@
_selectedCards = new System.Collections.Generic.HashSet<MediaCardViewModel>(); _selectedCards = new System.Collections.Generic.HashSet<MediaCardViewModel>();
} }
private void ClearSelection() private void ClearSelection() => _selectedCards.Clear();
{
_selectedCards.Clear();
}
private void SelectClicked(MovieCardViewModel movie, MouseEventArgs e) private void SelectClicked(MediaCardViewModel card, MouseEventArgs e)
{ {
if (_selectedCards.Contains(movie)) if (_selectedCards.Contains(card))
{ {
_selectedCards.Remove(movie); _selectedCards.Remove(card);
} }
else else
{ {
if (e.ShiftKey && _selectedLast is MovieCardViewModel selectedMovie) if (e.ShiftKey && _selectedLast != null)
{ {
var sorted = _data.MovieCards.OrderBy(m => m.SortTitle).ToList(); var sorted = _data.MovieCards.OrderBy(m => m.SortTitle)
int start = sorted.IndexOf(selectedMovie); .Append<MediaCardViewModel>(_data.ShowCards.OrderBy(s => s.SortTitle))
int finish = sorted.IndexOf(movie); .ToList();
int start = sorted.IndexOf(_selectedLast);
int finish = sorted.IndexOf(card);
if (start > finish) if (start > finish)
{ {
int temp = start; int temp = start;
@ -144,8 +139,8 @@
} }
} }
_selectedLast = movie; _selectedLast = card;
_selectedCards.Add(movie); _selectedCards.Add(card);
} }
} }

Loading…
Cancel
Save