diff --git a/Wonky.Client/Components/CustomerInventoryListComponent.razor b/Wonky.Client/Components/CustomerInventoryListComponent.razor index 63b80cd6..1a770dd7 100644 --- a/Wonky.Client/Components/CustomerInventoryListComponent.razor +++ b/Wonky.Client/Components/CustomerInventoryListComponent.razor @@ -23,10 +23,6 @@
- @* - - - *@
@@ -34,17 +30,17 @@
+ onclick="@(() => SortDisplayList(SortColumn.Description))">
+ onclick="@(() => SortDisplayList(SortColumn.Sku))">
+ onclick="@(() => SortDisplayList(SortColumn.LastInvoiceDate))" checked>
@@ -53,7 +49,7 @@
- @foreach (var product in FilteredList) + @foreach (var product in DisplayList) {
diff --git a/Wonky.Client/Components/CustomerInventoryListComponent.razor.cs b/Wonky.Client/Components/CustomerInventoryListComponent.razor.cs index 4fe14beb..826c8cb8 100644 --- a/Wonky.Client/Components/CustomerInventoryListComponent.razor.cs +++ b/Wonky.Client/Components/CustomerInventoryListComponent.razor.cs @@ -36,48 +36,49 @@ public partial class CustomerInventoryListComponent // ##############################################3333############ // private variables + private List DisplayList { get; set; } private bool Descending { get; set; } = true; - private string SearchTerm { get; set; } = ""; - private List FilteredList { get; set; } - private ProductSort SortColumn { get; set; } = ProductSort.LastInvoiceDate; + private string DisplayFilter { get; set; } = ""; + private SortColumn SortColumn { get; set; } = SortColumn.LastInvoiceDate; - protected override void OnInitialized() + protected override void OnParametersSet() { - // sort base list + // sort the base Inventory Inventory = Utils.SortInventory(Inventory, SortColumn, Descending); // initialize FilteredList - FilterItems(SearchTerm); + ApplyInventoryFilter(DisplayFilter); } - + private void SetSortOrder() { Descending = !Descending; - FilteredList = Utils.SortInventory(FilteredList, SortColumn, Descending); + SortDisplayList(SortColumn); } + private void SortDisplayList(SortColumn sortColumn) + { + SortColumn = sortColumn; + DisplayList = Utils.SortInventory(DisplayList, SortColumn, Descending); + } + + private void OnSearchChanged(string searchTerm) { // use search input to filter list - FilterItems(searchTerm); + ApplyInventoryFilter(searchTerm); } - private void FilterItems(string filter) + private void ApplyInventoryFilter(string searchTerm) { - SearchTerm = filter; - FilteredList = string.IsNullOrWhiteSpace(filter) + DisplayFilter = searchTerm; + DisplayList = string.IsNullOrWhiteSpace(searchTerm) ? Inventory - : Inventory.Where(i => i.Description.ToLower().Contains(filter.ToLower())).ToList(); + : Inventory.Where(i => i.Description.ToLower().Contains(searchTerm.ToLower())).ToList(); } - - private void SortProducts(ProductSort column) - { - FilteredList = Utils.SortInventory(FilteredList, column, Descending); - } - private async Task CallShowReorderModal(string sku) { diff --git a/Wonky.Client/Components/CustomerProductCheckListComponent.razor b/Wonky.Client/Components/CustomerProductCheckListComponent.razor index d83ec41b..88148237 100644 --- a/Wonky.Client/Components/CustomerProductCheckListComponent.razor +++ b/Wonky.Client/Components/CustomerProductCheckListComponent.razor @@ -33,17 +33,17 @@
+ onclick="@(() => SortDisplayList(SortColumn.Description))">
+ onclick="@(() => SortDisplayList(SortColumn.Sku))">
+ onclick="@(() => SortDisplayList(SortColumn.LastInvoiceDate))" checked>
diff --git a/Wonky.Client/Components/CustomerProductCheckListComponent.razor.cs b/Wonky.Client/Components/CustomerProductCheckListComponent.razor.cs index 3b94ee3e..fbe0f67f 100644 --- a/Wonky.Client/Components/CustomerProductCheckListComponent.razor.cs +++ b/Wonky.Client/Components/CustomerProductCheckListComponent.razor.cs @@ -25,46 +25,53 @@ using Wonky.Entity.Views; namespace Wonky.Client.Components; public partial class CustomerProductCheckListComponent { + // ############################################################## + [Inject] public ILocalStorageService Storage { get; set; } + + // ############################################################## [Parameter] public List Inventory { get; set; } = new(); [Parameter] public string CompanyId { get; set; } = ""; - [Inject] public ILocalStorageService Storage { get; set; } - // private variables + + // ############################################################## private bool Descending { get; set; } = true; - private string SearchTerm { get; set; } = ""; - private List FilteredList { get; set; } = new(); + private string DisplayFilter { get; set; } = ""; + private List DisplayList { get; set; } = new(); + private SortColumn SortColumn { get; set; } = SortColumn.LastInvoiceDate; + protected override void OnParametersSet() { - Inventory = Utils.SortInventory(Inventory, ProductSort.LastInvoiceDate, Descending); - FilterItems(SearchTerm); + Inventory = Utils.SortInventory(Inventory, SortColumn, Descending); + ApplyInventoryFilter(DisplayFilter); } private void SetSortOrder() { Descending = !Descending; - FilteredList = Utils.SortInventory(FilteredList, ProductSort.LastInvoiceDate, Descending); + DisplayList = Utils.SortInventory(DisplayList, SortColumn, Descending); } private void OnSearchChanged(string searchTerm) { - FilterItems(searchTerm); + ApplyInventoryFilter(searchTerm); } - private void FilterItems(string filter) + private void ApplyInventoryFilter(string filter) { - SearchTerm = filter; - FilteredList = string.IsNullOrWhiteSpace(filter) + DisplayFilter = filter; + DisplayList = string.IsNullOrWhiteSpace(filter) ? Inventory : Inventory.Where(i => i.Description.ToLower().Contains(filter.ToLower())).ToList(); } - private void SortProducts(ProductSort column) + private void SortDisplayList(SortColumn column) { - FilteredList = Utils.SortInventory(Inventory, column, Descending); + SortColumn = column; + DisplayList = Utils.SortInventory(DisplayList, SortColumn, Descending); } diff --git a/Wonky.Client/Components/OfficeCustomerInventoryListComponent.razor b/Wonky.Client/Components/OfficeCustomerInventoryListComponent.razor index bf2361f1..be934cdb 100644 --- a/Wonky.Client/Components/OfficeCustomerInventoryListComponent.razor +++ b/Wonky.Client/Components/OfficeCustomerInventoryListComponent.razor @@ -33,17 +33,17 @@
+ onclick="@(() => SortProducts(Enums.SortColumn.Description))">
+ onclick="@(() => SortProducts(Enums.SortColumn.Sku))">
+ onclick="@(() => SortProducts(Enums.SortColumn.LastInvoiceDate))" checked>
diff --git a/Wonky.Client/Components/OfficeCustomerInventoryListComponent.razor.cs b/Wonky.Client/Components/OfficeCustomerInventoryListComponent.razor.cs index ccb46de0..edc2010e 100644 --- a/Wonky.Client/Components/OfficeCustomerInventoryListComponent.razor.cs +++ b/Wonky.Client/Components/OfficeCustomerInventoryListComponent.razor.cs @@ -41,7 +41,7 @@ public partial class OfficeCustomerInventoryListComponent private bool Descending { get; set; } = true; private string SearchTerm { get; set; } = ""; private List FilteredList { get; set; } = new(); - private ProductSort SortColumn { get; set; } = ProductSort.LastInvoiceDate; + private SortColumn SortColumn { get; set; } = SortColumn.LastInvoiceDate; protected override void OnParametersSet() @@ -73,7 +73,7 @@ public partial class OfficeCustomerInventoryListComponent } - private void SortProducts(ProductSort column) + private void SortProducts(SortColumn column) { FilteredList = Utils.SortInventory(FilteredList, column, Descending); } diff --git a/Wonky.Client/Enums/ProductSort.cs b/Wonky.Client/Enums/SortColumn.cs similarity index 97% rename from Wonky.Client/Enums/ProductSort.cs rename to Wonky.Client/Enums/SortColumn.cs index a2959dc0..fc82ab4a 100644 --- a/Wonky.Client/Enums/ProductSort.cs +++ b/Wonky.Client/Enums/SortColumn.cs @@ -16,7 +16,7 @@ namespace Wonky.Client.Enums; -public enum ProductSort +public enum SortColumn { Description, Sku, diff --git a/Wonky.Client/Helpers/Utils.cs b/Wonky.Client/Helpers/Utils.cs index 3bf5528c..46faf314 100644 --- a/Wonky.Client/Helpers/Utils.cs +++ b/Wonky.Client/Helpers/Utils.cs @@ -28,17 +28,17 @@ namespace Wonky.Client.Helpers; public static class Utils { public static List SortInventory(IEnumerable inventory, - ProductSort column, bool descending) + SortColumn sortColumn, bool descending) { - return column switch + return sortColumn switch { - ProductSort.Description => descending + SortColumn.Description => descending ? inventory.OrderByDescending(x => x.Description).ToList() : inventory.OrderBy(x => x.Description).ToList(), - ProductSort.Sku => descending + SortColumn.Sku => descending ? inventory.OrderByDescending(x => x.Sku).ToList() : inventory.OrderBy(x => x.Sku).ToList(), - ProductSort.LastInvoiceDate => descending + SortColumn.LastInvoiceDate => descending ? inventory.OrderByDescending(x => x.LastInvoiceDate).ToList() : inventory.OrderBy(x => x.LastInvoiceDate).ToList(), _ => inventory.OrderByDescending(x => x.LastInvoiceDate).ToList() diff --git a/Wonky.Client/OverlayCustomer/CustomerActivityListOverlay.razor b/Wonky.Client/OverlayCustomer/CustomerActivityListOverlay.razor index 5d99398c..ff4e700b 100644 --- a/Wonky.Client/OverlayCustomer/CustomerActivityListOverlay.razor +++ b/Wonky.Client/OverlayCustomer/CustomerActivityListOverlay.razor @@ -18,7 +18,7 @@