From 2d32c5545646cdc9a8c0ac6d7b6eb75c9693911b Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Sat, 1 Aug 2026 14:10:16 +0100 Subject: [PATCH] Add filter and sort persistence to multiple dashboard components - Enhanced various components across the Dashboard, including Invoices, Payments, TaxRecords, and Inventory items, by adding props to save and use filters and sorting in both session and URL. - This update improves user experience by maintaining state across sessions and enhancing data handling consistency throughout the application. --- src/components/Dashboard/Finance/Invoices.jsx | 8 ++++++++ src/components/Dashboard/Finance/Payments.jsx | 8 ++++++++ src/components/Dashboard/Finance/TaxRecords.jsx | 8 ++++++++ src/components/Dashboard/Inventory/FilamentStocks.jsx | 8 ++++++++ src/components/Dashboard/Inventory/OrderItems.jsx | 8 ++++++++ src/components/Dashboard/Inventory/PartStocks.jsx | 8 ++++++++ src/components/Dashboard/Inventory/ProductStocks.jsx | 8 ++++++++ src/components/Dashboard/Inventory/PurchaseOrders.jsx | 8 ++++++++ src/components/Dashboard/Inventory/Shipments.jsx | 8 ++++++++ src/components/Dashboard/Inventory/StockAudits.jsx | 8 ++++++++ src/components/Dashboard/Inventory/StockEvents.jsx | 8 ++++++++ src/components/Dashboard/Inventory/StockLocations.jsx | 8 ++++++++ src/components/Dashboard/Inventory/StockTransfers.jsx | 8 ++++++++ src/components/Dashboard/Management/AppPasswords.jsx | 8 ++++++++ src/components/Dashboard/Management/AuditLogs.jsx | 8 ++++++++ src/components/Dashboard/Management/CourierServices.jsx | 8 ++++++++ src/components/Dashboard/Management/Couriers.jsx | 8 ++++++++ src/components/Dashboard/Management/DocumentJobs.jsx | 8 ++++++++ src/components/Dashboard/Management/DocumentPrinters.jsx | 8 ++++++++ src/components/Dashboard/Management/DocumentSizes.jsx | 8 ++++++++ src/components/Dashboard/Management/DocumentTemplates.jsx | 8 ++++++++ src/components/Dashboard/Management/FilamentSkus.jsx | 8 ++++++++ src/components/Dashboard/Management/Filaments.jsx | 8 ++++++++ src/components/Dashboard/Management/Files.jsx | 8 ++++++++ src/components/Dashboard/Management/Hosts.jsx | 8 ++++++++ src/components/Dashboard/Management/Materials.jsx | 8 ++++++++ src/components/Dashboard/Management/NoteTypes.jsx | 8 ++++++++ src/components/Dashboard/Management/PartSkus.jsx | 8 ++++++++ src/components/Dashboard/Management/Parts.jsx | 8 ++++++++ src/components/Dashboard/Management/ProductCategories.jsx | 8 ++++++++ src/components/Dashboard/Management/ProductSkus.jsx | 8 ++++++++ src/components/Dashboard/Management/Products.jsx | 8 ++++++++ src/components/Dashboard/Management/TaxRates.jsx | 8 ++++++++ src/components/Dashboard/Management/Vendors.jsx | 8 ++++++++ src/components/Dashboard/Production/FilamentProfiles.jsx | 8 ++++++++ src/components/Dashboard/Production/GCodeFiles.jsx | 8 ++++++++ src/components/Dashboard/Production/Jobs.jsx | 8 ++++++++ src/components/Dashboard/Production/PrinterProfiles.jsx | 8 ++++++++ src/components/Dashboard/Production/SubJobs.jsx | 8 ++++++++ src/components/Dashboard/Sales/Clients.jsx | 8 ++++++++ src/components/Dashboard/Sales/Listings.jsx | 8 ++++++++ src/components/Dashboard/Sales/Marketplaces.jsx | 8 ++++++++ src/components/Dashboard/Sales/SalesOrders.jsx | 8 ++++++++ 43 files changed, 344 insertions(+) diff --git a/src/components/Dashboard/Finance/Invoices.jsx b/src/components/Dashboard/Finance/Invoices.jsx index eff04fe..b6366fc 100644 --- a/src/components/Dashboard/Finance/Invoices.jsx +++ b/src/components/Dashboard/Finance/Invoices.jsx @@ -81,6 +81,14 @@ const Invoices = () => { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> diff --git a/src/components/Dashboard/Inventory/StockLocations.jsx b/src/components/Dashboard/Inventory/StockLocations.jsx index c6da139..96add8d 100644 --- a/src/components/Dashboard/Inventory/StockLocations.jsx +++ b/src/components/Dashboard/Inventory/StockLocations.jsx @@ -85,6 +85,14 @@ const StockLocations = () => { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { visibleColumns={columnVisibility} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { type='auditLog' showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> diff --git a/src/components/Dashboard/Management/CourierServices.jsx b/src/components/Dashboard/Management/CourierServices.jsx index 39584f0..c6191ec 100644 --- a/src/components/Dashboard/Management/CourierServices.jsx +++ b/src/components/Dashboard/Management/CourierServices.jsx @@ -81,6 +81,14 @@ const CourierServices = () => { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { visibleColumns={columnVisibility} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> diff --git a/src/components/Dashboard/Management/Hosts.jsx b/src/components/Dashboard/Management/Hosts.jsx index 1b1dbb6..a4d1804 100644 --- a/src/components/Dashboard/Management/Hosts.jsx +++ b/src/components/Dashboard/Management/Hosts.jsx @@ -86,6 +86,14 @@ const Hosts = () => { visibleColumns={columnVisibility} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { visibleColumns={columnVisibility} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { filter={filter} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { visibleColumns={columnVisibility} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { visibleColumns={columnVisibility} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> diff --git a/src/components/Dashboard/Production/GCodeFiles.jsx b/src/components/Dashboard/Production/GCodeFiles.jsx index fa97093..ac03ed3 100644 --- a/src/components/Dashboard/Production/GCodeFiles.jsx +++ b/src/components/Dashboard/Production/GCodeFiles.jsx @@ -83,6 +83,14 @@ const GCodeFiles = () => { visibleColumns={columnVisibility} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { visibleColumns={columnVisibility} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> diff --git a/src/components/Dashboard/Production/SubJobs.jsx b/src/components/Dashboard/Production/SubJobs.jsx index 64ed435..6851489 100644 --- a/src/components/Dashboard/Production/SubJobs.jsx +++ b/src/components/Dashboard/Production/SubJobs.jsx @@ -72,6 +72,14 @@ const SubJobs = () => { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> diff --git a/src/components/Dashboard/Sales/Clients.jsx b/src/components/Dashboard/Sales/Clients.jsx index f3b3a31..7531f46 100644 --- a/src/components/Dashboard/Sales/Clients.jsx +++ b/src/components/Dashboard/Sales/Clients.jsx @@ -80,6 +80,14 @@ const Clients = () => { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} /> { cards={viewMode === 'cards'} showFilterSidebar={showFilterSidebar} expandHeight={true} + saveFilterInSession={true} + saveFilterInUrl={true} + useFilterInSession={true} + useFilterInUrl={true} + saveSortInSession={true} + saveSortInUrl={true} + useSortInSession={true} + useSortInUrl={true} />