BrowseView.razor 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. @inherits ViewBase
  2. @code{
  3. private DiscDialog dlgDisc;
  4. }
  5. <DiscDialog @ref="dlgDisc"></DiscDialog>
  6. <div class="row mt-2">
  7. <div class="col">
  8. <LibSelector CurrentLibrary="@CurrentLibrary" OnValueChanged="SelectedLibraryChanged"></LibSelector>
  9. </div>
  10. </div>
  11. <div class="row mt-2">
  12. <div class="row">
  13. <div class="col">
  14. <LibTrackSet CurrentLibrary="@CurrentLibrary"></LibTrackSet>
  15. </div>
  16. </div>
  17. </div>
  18. <div class="row">
  19. <div class="col-12">
  20. <div class="row">
  21. <DiscCardList Discs="CurrentLibrary?.Discs" OnClick="(d)=>dlgDisc.Show(d)"></DiscCardList>
  22. </div>
  23. </div>
  24. </div>
  25. @code {
  26. private string CurrentLibraryKey { get => LocalStorage.Get<string>(); set => LocalStorage.Set(value); }
  27. private FeLibrary CurrentLibrary { get; set; }
  28. protected override async Task OnInitializedAsync()
  29. {
  30. await base.OnInitializedAsync();
  31. if (DataSet.AllLibrary?.Any() == true)
  32. {
  33. var clk = CurrentLibraryKey;
  34. if (DataSet.AllLibrary.Any(p => p.Key == clk)) SelectedLibraryChanged(DataSet.AllLibrary.First(p => p.Key == clk));
  35. if (CurrentLibrary == null) SelectedLibraryChanged(DataSet.AllLibrary.First());
  36. }
  37. }
  38. public void SelectedLibraryChanged(FeLibrary lib)
  39. {
  40. CurrentLibrary = lib;
  41. CurrentLibraryKey = lib.Key;
  42. StateHasChanged();
  43. }
  44. }