diff --git a/Aaru.Server/Components/Admin/Pages/BlockDescriptors/View.razor b/Aaru.Server/Components/Admin/Pages/BlockDescriptors/View.razor index a1f100e4..806b2e70 100644 --- a/Aaru.Server/Components/Admin/Pages/BlockDescriptors/View.razor +++ b/Aaru.Server/Components/Admin/Pages/BlockDescriptors/View.razor @@ -30,51 +30,125 @@ @page "/admin/block-descriptors" @attribute [Authorize] @layout AdminLayout +@rendermode InteractiveServer @inject Microsoft.EntityFrameworkCore.IDbContextFactory DbContextFactory -Block descriptors +Block Descriptors @if(!_initialized) { -
-

Loading...

+
+
+
+ Loading... +
+

Loading block descriptors...

+
return; } -
-

Block descriptors

- - - - - - - - - - @foreach(BlockDescriptor item in _items) - { - - - - - - } - -
- @DisplayNameHelper.GetDisplayName(typeof(BlockDescriptor), nameof(BlockDescriptor.Density)) - - @DisplayNameHelper.GetDisplayName(typeof(BlockDescriptor), nameof(BlockDescriptor.Blocks)) - - @DisplayNameHelper.GetDisplayName(typeof(BlockDescriptor), nameof(BlockDescriptor.BlockLength)) -
- @item.Density - - @item.Blocks - - @item.BlockLength -
-
\ No newline at end of file +
+ +
+
+

+ Block Descriptors +

+

Manage block descriptor database for tape media

+
+
+ + +
+
+
+
+
+ + + + +
+
+
+ + Total: @FilteredItems.Count() / @_items.Count + +
+
+
+
+ + +
+
+
+ Block Descriptor Database +
+
+
+ @if(FilteredItems.Any()) + { +
+ + + + + + + + + + + @foreach(BlockDescriptor item in FilteredItems) + { + + + + + + + } + +
+ ID + + Density + + Blocks + + Block Length +
+ @item.Id + + @item.Density + + @(((long)item.Blocks).ToString("N0")) + + @item.BlockLength +
+
+ } + else + { +
+ +

No block descriptors found

+

@(string.IsNullOrWhiteSpace(_searchTerm) ? "No data available" : "Try adjusting your search criteria")

+
+ } +
+
+
+ diff --git a/Aaru.Server/Components/Admin/Pages/BlockDescriptors/View.razor.cs b/Aaru.Server/Components/Admin/Pages/BlockDescriptors/View.razor.cs index 7ded5fce..08b5ff7f 100644 --- a/Aaru.Server/Components/Admin/Pages/BlockDescriptors/View.razor.cs +++ b/Aaru.Server/Components/Admin/Pages/BlockDescriptors/View.razor.cs @@ -34,8 +34,24 @@ namespace Aaru.Server.Components.Admin.Pages.BlockDescriptors; public partial class View { - bool _initialized; - List _items; + private bool _initialized; + private List _items = new(); + private string _searchTerm = string.Empty; + + private IEnumerable FilteredItems + { + get + { + if(string.IsNullOrWhiteSpace(_searchTerm)) return _items; + + return _items.Where(item => + item.Density.ToString().Contains(_searchTerm, StringComparison.OrdinalIgnoreCase) || + item.Blocks.ToString().Contains(_searchTerm, StringComparison.OrdinalIgnoreCase) || + item.BlockLength.ToString() + .Contains(_searchTerm, StringComparison.OrdinalIgnoreCase) || + item.Id.ToString().Contains(_searchTerm, StringComparison.OrdinalIgnoreCase)); + } + } /// protected override async Task OnInitializedAsync()