From 94e3104773b066bf86fc16e0c5a910f41ecdf3f2 Mon Sep 17 00:00:00 2001 From: Penry Date: Thu, 4 Jun 2026 23:19:28 +0200 Subject: [PATCH] Added Paging and Filtering to PrivateList --- .../Pages/GlobalList/GlobalList.razor | 5 +- .../Pages/PrivateList/PrivateList.razor | 88 ++++++++++++++++--- 2 files changed, 80 insertions(+), 13 deletions(-) diff --git a/CouchLog/Components/Pages/GlobalList/GlobalList.razor b/CouchLog/Components/Pages/GlobalList/GlobalList.razor index f2e6c18..2704e22 100644 --- a/CouchLog/Components/Pages/GlobalList/GlobalList.razor +++ b/CouchLog/Components/Pages/GlobalList/GlobalList.razor @@ -103,7 +103,6 @@ private string? _searchString; private bool _showFilters; private bool _showAlreadyAddedEntities = false; - private IEnumerable FiltertGlobalEntities => _globalEntities.Where(entity => (string.IsNullOrWhiteSpace(_searchString) || entity.Title.Contains(_searchString, StringComparison.OrdinalIgnoreCase)) && //Search bar (_showAlreadyAddedEntities || !_userPrivateEntityIds.Contains(entity.Id)) //Filter for already added Entitys @@ -115,8 +114,10 @@ private int TotalPages => (int)Math.Ceiling(FiltertGlobalEntities.Count() / (double)_pageSize); private IEnumerable VisibleGlobalEntities => FiltertGlobalEntities.Skip((_currentPage - 1) * _pageSize).Take(_pageSize); - //Core + //User private ApplicationUser? _appUser; + + //Core private List _globalEntities = []; private HashSet _userPrivateEntityIds = []; diff --git a/CouchLog/Components/Pages/PrivateList/PrivateList.razor b/CouchLog/Components/Pages/PrivateList/PrivateList.razor index b233252..ad08a1a 100644 --- a/CouchLog/Components/Pages/PrivateList/PrivateList.razor +++ b/CouchLog/Components/Pages/PrivateList/PrivateList.razor @@ -30,6 +30,7 @@ + @*Search bar*@ + @*Refresh button*@ + @* + + *@ + @*More Filters button*@ + + + + + @*Entity allready added*@ + + Show already added Entities + + @*To be exstendet*@ +
- + + + + Active Watching +
- @foreach (var privateEntity in ActiveWatchingEntities) + @foreach (var privateEntity in VisibleActiveWatchingEntities) { - - } - @foreach (var privateEntity in LibraryEntities) - { - + }
+
+ + + + + + + + + + + Library +
+ + @foreach (var privateEntity in VisibleLibraryEntities) + { + + } + +
+ +
+ + + + + + + @code { - //Search - private string _searchString; + //Filter + private string? _searchString; + private bool _showFilters; + private bool _showAlreadyAddedEntities = false; + private IEnumerable FiltertGlobalEntities => _privateEntities.Where(entity => + (string.IsNullOrWhiteSpace(_searchString) || entity.GlobalEntity.Title.Contains(_searchString, StringComparison.OrdinalIgnoreCase)) //Search bar + ); + + //Paging Active Watching + private int _currentActiveWatchingPage = 1; + private int _pageSizeActiveWatching = 12; + private int TotalPagesActiveWatching => (int)Math.Ceiling(ActiveWatchingEntities.Count() / (double)_pageSizeActiveWatching); + private IEnumerable VisibleActiveWatchingEntities => ActiveWatchingEntities.Skip((_currentActiveWatchingPage - 1) * _pageSizeActiveWatching).Take(_pageSizeActiveWatching); + + //Paging Library + private int _currentLibraryPage = 1; + private int _pageSizeLibrary = 12; + private int TotalPagesLibrary => (int)Math.Ceiling(LibraryEntities.Count() / (double)_pageSizeLibrary); + private IEnumerable VisibleLibraryEntities => LibraryEntities.Skip((_currentLibraryPage - 1) * _pageSizeLibrary).Take(_pageSizeLibrary); //User private ApplicationUser? _appUser; @@ -70,8 +136,8 @@ private List _privateEntities = []; private List _userWatchStatuses = []; - private List ActiveWatchingEntities => _privateEntities.Where(x => x.UserWatchStatus?.Name == "Watching").ToList(); - private List LibraryEntities => _privateEntities.Where(x => x.UserWatchStatus?.Name != "Watching").ToList(); + private IEnumerable ActiveWatchingEntities => FiltertGlobalEntities.Where(x => x.UserWatchStatus?.Name == "Watching").ToList(); + private IEnumerable LibraryEntities => FiltertGlobalEntities.Where(x => x.UserWatchStatus?.Name != "Watching").ToList(); protected override async Task OnInitializedAsync() {