From 9d1a032e1087343b37d5f79a2bf22b878f47492d Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Wed, 2 Sep 2026 22:41:49 +0100 Subject: [PATCH] Refactor Dashboard Components to Remove Unused State Management - Removed unnecessary useState hooks for view state management in multiple dashboard components (Invoices, PaymentPolicies, Payments, TaxRecords, FilamentStocks, OrderItems, PartStocks, ProductStocks, PurchaseOrders, Shipments, StockAudits, StockEvents, StockLocations, StockTransfers, AppPasswords, AuditLogs, Couriers, CourierServices, DocumentJobs, DocumentPrinters, DocumentSizes, DocumentTemplates, Filaments, FilamentSkus). - Updated ObjectListViewProvider integration to streamline component functionality and improve maintainability. - Adjusted CSS variables in App.css for enhanced styling consistency across components. --- assets/stylesheets/App.css | 8 +- src/components/Dashboard/Finance/Invoices.jsx | 27 +- .../Dashboard/Finance/PaymentPolicies.jsx | 24 +- src/components/Dashboard/Finance/Payments.jsx | 27 +- .../Dashboard/Finance/TaxRecords.jsx | 27 +- .../Dashboard/Inventory/FilamentStocks.jsx | 29 +- .../Dashboard/Inventory/OrderItems.jsx | 27 +- .../Dashboard/Inventory/PartStocks.jsx | 29 +- .../Dashboard/Inventory/ProductStocks.jsx | 29 +- .../Dashboard/Inventory/PurchaseOrders.jsx | 27 +- .../Dashboard/Inventory/Shipments.jsx | 27 +- .../Dashboard/Inventory/StockAudits.jsx | 29 +- .../Dashboard/Inventory/StockEvents.jsx | 27 +- .../Dashboard/Inventory/StockLocations.jsx | 29 +- .../Dashboard/Inventory/StockTransfers.jsx | 29 +- .../Dashboard/Management/AppPasswords.jsx | 29 +- .../Dashboard/Management/AuditLogs.jsx | 28 +- .../Dashboard/Management/CourierServices.jsx | 27 +- .../Dashboard/Management/Couriers.jsx | 27 +- .../Dashboard/Management/DocumentJobs.jsx | 27 +- .../Dashboard/Management/DocumentPrinters.jsx | 26 +- .../Dashboard/Management/DocumentSizes.jsx | 26 +- .../Management/DocumentTemplates.jsx | 27 +- .../Dashboard/Management/FilamentSkus.jsx | 29 +- .../Dashboard/Management/Filaments.jsx | 29 +- src/components/Dashboard/Management/Files.jsx | 30 +- src/components/Dashboard/Management/Hosts.jsx | 29 +- .../Dashboard/Management/Materials.jsx | 29 +- .../Dashboard/Management/NoteTypes.jsx | 27 +- .../Dashboard/Management/PartSkus.jsx | 29 +- src/components/Dashboard/Management/Parts.jsx | 26 +- .../Management/PermissionSettings.jsx | 27 +- .../Management/ProductCategories.jsx | 29 +- .../Dashboard/Management/ProductSkus.jsx | 29 +- .../Dashboard/Management/Products.jsx | 27 +- .../Dashboard/Management/StockAuditLevels.jsx | 25 +- .../Dashboard/Management/TaxRates.jsx | 27 +- .../Dashboard/Management/UserGroups.jsx | 27 +- src/components/Dashboard/Management/Users.jsx | 25 +- .../Dashboard/Management/Vendors.jsx | 82 ++- .../Dashboard/Production/FilamentProfiles.jsx | 27 +- .../Dashboard/Production/GCodeFiles.jsx | 26 +- src/components/Dashboard/Production/Jobs.jsx | 27 +- .../Dashboard/Production/PrinterProfiles.jsx | 27 +- .../Dashboard/Production/Printers.jsx | 29 +- .../Dashboard/Production/SubJobs.jsx | 27 +- src/components/Dashboard/Sales/Clients.jsx | 27 +- .../Dashboard/Sales/FulfillmentPolicies.jsx | 24 +- .../Dashboard/Sales/ListingVarients.jsx | 27 +- src/components/Dashboard/Sales/Listings.jsx | 27 +- .../Dashboard/Sales/Marketplaces.jsx | 27 +- .../Dashboard/Sales/ReturnPolicies.jsx | 24 +- .../Dashboard/Sales/SalesOrders.jsx | 27 +- .../Dashboard/common/ListViewTabs.jsx | 18 +- .../Dashboard/common/ObjectTable.jsx | 540 ++++++++++++------ .../common/ObjectTableNavigationButtons.jsx | 25 +- .../Dashboard/common/SegmentedNav.jsx | 14 +- .../context/ObjectListViewContext.jsx | 258 ++++++--- .../Dashboard/context/TableStateContext.jsx | 315 ++++++++-- 59 files changed, 1383 insertions(+), 1271 deletions(-) diff --git a/assets/stylesheets/App.css b/assets/stylesheets/App.css index b21b63fa..1168769a 100644 --- a/assets/stylesheets/App.css +++ b/assets/stylesheets/App.css @@ -47,6 +47,12 @@ font-family: 'DM Sans'; } +:root { + --color-list-view-tabs-border: #8282822e; + --color-button-border: #8282822e; + --color-button-background: #8282822e; +} + .ant-dropdown { z-index: 999; } @@ -2754,7 +2760,7 @@ span.ant-skeleton-input.ant-skeleton-input-sm.text-skeleton { } .list-view-tabs-options-dropdown-privacy { - margin: 3px 12px 8px; + margin: 3px 12px 14px 16px; } .segmented-nav-drag-handle { diff --git a/src/components/Dashboard/Finance/Invoices.jsx b/src/components/Dashboard/Finance/Invoices.jsx index 657a28ff..326aa342 100644 --- a/src/components/Dashboard/Finance/Invoices.jsx +++ b/src/components/Dashboard/Finance/Invoices.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const Invoices = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('invoices') @@ -36,13 +31,11 @@ const Invoices = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Finance/PaymentPolicies.jsx b/src/components/Dashboard/Finance/PaymentPolicies.jsx index ceae4f43..171c7ca7 100644 --- a/src/components/Dashboard/Finance/PaymentPolicies.jsx +++ b/src/components/Dashboard/Finance/PaymentPolicies.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,10 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const PaymentPolicies = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) const [viewMode, setViewMode] = useViewMode('paymentPolicy') const [columnVisibility, setColumnVisibility] = @@ -31,12 +27,11 @@ const PaymentPolicies = () => { useSortSidebarVisibility('PaymentPolicies') return ( - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - + + ) } diff --git a/src/components/Dashboard/Finance/Payments.jsx b/src/components/Dashboard/Finance/Payments.jsx index 10d06935..e5bd0f50 100644 --- a/src/components/Dashboard/Finance/Payments.jsx +++ b/src/components/Dashboard/Finance/Payments.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const Payments = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('payments') @@ -36,13 +31,11 @@ const Payments = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Finance/TaxRecords.jsx b/src/components/Dashboard/Finance/TaxRecords.jsx index a103315d..d1348eb5 100644 --- a/src/components/Dashboard/Finance/TaxRecords.jsx +++ b/src/components/Dashboard/Finance/TaxRecords.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const TaxRecords = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('taxRecord') @@ -36,13 +31,11 @@ const TaxRecords = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Inventory/FilamentStocks.jsx b/src/components/Dashboard/Inventory/FilamentStocks.jsx index 8b3079ad..e629b9f6 100644 --- a/src/components/Dashboard/Inventory/FilamentStocks.jsx +++ b/src/components/Dashboard/Inventory/FilamentStocks.jsx @@ -1,6 +1,6 @@ // src/filamentStocks.js -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' @@ -21,12 +21,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const FilamentStocks = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - - const [viewMode, setViewMode] = useViewMode('filamentStocks') @@ -41,13 +35,11 @@ const FilamentStocks = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Inventory/OrderItems.jsx b/src/components/Dashboard/Inventory/OrderItems.jsx index 23efe527..575cbb7a 100644 --- a/src/components/Dashboard/Inventory/OrderItems.jsx +++ b/src/components/Dashboard/Inventory/OrderItems.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const OrderItems = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('orderItems') @@ -36,13 +31,11 @@ const OrderItems = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Inventory/PartStocks.jsx b/src/components/Dashboard/Inventory/PartStocks.jsx index 4a4f2f3d..28241eb5 100644 --- a/src/components/Dashboard/Inventory/PartStocks.jsx +++ b/src/components/Dashboard/Inventory/PartStocks.jsx @@ -1,6 +1,6 @@ // src/partStocks.js -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' @@ -21,12 +21,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const PartStocks = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - - const [viewMode, setViewMode] = useViewMode('partStocks') @@ -41,13 +35,11 @@ const PartStocks = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Inventory/ProductStocks.jsx b/src/components/Dashboard/Inventory/ProductStocks.jsx index d2797fd9..ccea5ceb 100644 --- a/src/components/Dashboard/Inventory/ProductStocks.jsx +++ b/src/components/Dashboard/Inventory/ProductStocks.jsx @@ -1,7 +1,7 @@ // src/components/Dashboard/Inventory/ProductStocks.jsx // ProductStocks - tracks assembled products consisting of part stocks -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' @@ -22,12 +22,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const ProductStocks = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - - const [viewMode, setViewMode] = useViewMode('productStocks') @@ -42,13 +36,11 @@ const ProductStocks = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Inventory/PurchaseOrders.jsx b/src/components/Dashboard/Inventory/PurchaseOrders.jsx index 470e3e81..912abd7e 100644 --- a/src/components/Dashboard/Inventory/PurchaseOrders.jsx +++ b/src/components/Dashboard/Inventory/PurchaseOrders.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const PurchaseOrders = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('purchaseOrders') @@ -36,13 +31,11 @@ const PurchaseOrders = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Inventory/Shipments.jsx b/src/components/Dashboard/Inventory/Shipments.jsx index b18a5879..40943538 100644 --- a/src/components/Dashboard/Inventory/Shipments.jsx +++ b/src/components/Dashboard/Inventory/Shipments.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const Shipments = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('shipments') @@ -36,13 +31,11 @@ const Shipments = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Inventory/StockAudits.jsx b/src/components/Dashboard/Inventory/StockAudits.jsx index 1dbeafff..1931b35d 100644 --- a/src/components/Dashboard/Inventory/StockAudits.jsx +++ b/src/components/Dashboard/Inventory/StockAudits.jsx @@ -1,6 +1,6 @@ // src/stockAudits.js -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' @@ -21,12 +21,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const StockAudits = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - - const [viewMode, setViewMode] = useViewMode('stockAudits') @@ -41,13 +35,11 @@ const StockAudits = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Inventory/StockEvents.jsx b/src/components/Dashboard/Inventory/StockEvents.jsx index 73ea5123..06481075 100644 --- a/src/components/Dashboard/Inventory/StockEvents.jsx +++ b/src/components/Dashboard/Inventory/StockEvents.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import useColumnVisibility from '../hooks/useColumnVisibility' import ObjectTable from '../common/ObjectTable' @@ -17,10 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const StockEvents = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) const [viewMode, setViewMode] = useViewMode('stockEvents') @@ -35,13 +31,11 @@ const StockEvents = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Inventory/StockLocations.jsx b/src/components/Dashboard/Inventory/StockLocations.jsx index 0abf31a1..eb7a1da6 100644 --- a/src/components/Dashboard/Inventory/StockLocations.jsx +++ b/src/components/Dashboard/Inventory/StockLocations.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' @@ -19,12 +19,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const StockLocations = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - - const [viewMode, setViewMode] = useViewMode('stockLocations') @@ -39,13 +33,11 @@ const StockLocations = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Inventory/StockTransfers.jsx b/src/components/Dashboard/Inventory/StockTransfers.jsx index f3ccbfe0..8ff4da50 100644 --- a/src/components/Dashboard/Inventory/StockTransfers.jsx +++ b/src/components/Dashboard/Inventory/StockTransfers.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' @@ -19,12 +19,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const StockTransfers = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - - const [viewMode, setViewMode] = useViewMode('stockTransfers') @@ -39,13 +33,11 @@ const StockTransfers = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Management/AppPasswords.jsx b/src/components/Dashboard/Management/AppPasswords.jsx index c034566a..32ba5542 100644 --- a/src/components/Dashboard/Management/AppPasswords.jsx +++ b/src/components/Dashboard/Management/AppPasswords.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import useColumnVisibility from '../hooks/useColumnVisibility' import ColumnViewButton from '../common/ColumnViewButton' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const AppPasswords = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('appPassword') const [columnVisibility, setColumnVisibility] = @@ -35,13 +30,11 @@ const AppPasswords = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} - /> - - + /> + + ) } diff --git a/src/components/Dashboard/Management/AuditLogs.jsx b/src/components/Dashboard/Management/AuditLogs.jsx index 55481a62..8d37e798 100644 --- a/src/components/Dashboard/Management/AuditLogs.jsx +++ b/src/components/Dashboard/Management/AuditLogs.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import useColumnVisibility from '../hooks/useColumnVisibility' @@ -16,11 +16,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const AuditLogs = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [columnVisibility, updateColumnVisibility] = useColumnVisibility('auditLog') @@ -33,13 +28,11 @@ const AuditLogs = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Management/CourierServices.jsx b/src/components/Dashboard/Management/CourierServices.jsx index 3b72b435..cf030d22 100644 --- a/src/components/Dashboard/Management/CourierServices.jsx +++ b/src/components/Dashboard/Management/CourierServices.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const CourierServices = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('courierService') @@ -36,13 +31,11 @@ const CourierServices = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Management/Couriers.jsx b/src/components/Dashboard/Management/Couriers.jsx index 9b48f6bb..b47716fe 100644 --- a/src/components/Dashboard/Management/Couriers.jsx +++ b/src/components/Dashboard/Management/Couriers.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const Couriers = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('courier') @@ -35,13 +30,11 @@ const Couriers = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Management/DocumentJobs.jsx b/src/components/Dashboard/Management/DocumentJobs.jsx index 6be2968d..8a6161a9 100644 --- a/src/components/Dashboard/Management/DocumentJobs.jsx +++ b/src/components/Dashboard/Management/DocumentJobs.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const DocumentJobs = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('documentJob') @@ -36,13 +31,11 @@ const DocumentJobs = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Management/DocumentPrinters.jsx b/src/components/Dashboard/Management/DocumentPrinters.jsx index f43859d6..06807cf3 100644 --- a/src/components/Dashboard/Management/DocumentPrinters.jsx +++ b/src/components/Dashboard/Management/DocumentPrinters.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,10 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const DocumentPrinters = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) const [viewMode, setViewMode] = useViewMode('documentPrinter') @@ -35,13 +31,11 @@ const DocumentPrinters = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Management/DocumentSizes.jsx b/src/components/Dashboard/Management/DocumentSizes.jsx index 111cdf3f..0142e9a7 100644 --- a/src/components/Dashboard/Management/DocumentSizes.jsx +++ b/src/components/Dashboard/Management/DocumentSizes.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,10 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const DocumentSizes = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) const [viewMode, setViewMode] = useViewMode('documentSize') const [columnVisibility, setColumnVisibility] = @@ -34,13 +30,11 @@ const DocumentSizes = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Management/DocumentTemplates.jsx b/src/components/Dashboard/Management/DocumentTemplates.jsx index 0c7a04c7..e6b92169 100644 --- a/src/components/Dashboard/Management/DocumentTemplates.jsx +++ b/src/components/Dashboard/Management/DocumentTemplates.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const DocumentTemplates = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('documentTemplate') @@ -36,13 +31,11 @@ const DocumentTemplates = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Management/FilamentSkus.jsx b/src/components/Dashboard/Management/FilamentSkus.jsx index a6c2dc54..45dcc8d2 100644 --- a/src/components/Dashboard/Management/FilamentSkus.jsx +++ b/src/components/Dashboard/Management/FilamentSkus.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' @@ -19,12 +19,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const FilamentSkus = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - - const [viewMode, setViewMode] = useViewMode('filamentSkus') @@ -39,13 +33,11 @@ const FilamentSkus = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Management/Filaments.jsx b/src/components/Dashboard/Management/Filaments.jsx index b03a78b8..46a72ddb 100644 --- a/src/components/Dashboard/Management/Filaments.jsx +++ b/src/components/Dashboard/Management/Filaments.jsx @@ -1,6 +1,6 @@ // src/filaments.js -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' @@ -21,11 +21,6 @@ import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' const Filaments = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - // View mode state (cards/list), persisted in sessionStorage via custom hook const [viewMode, setViewMode] = useViewMode('filament') @@ -41,13 +36,11 @@ const Filaments = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} - /> - - + /> + + ) } diff --git a/src/components/Dashboard/Management/Files.jsx b/src/components/Dashboard/Management/Files.jsx index 62fafe18..37fddd28 100644 --- a/src/components/Dashboard/Management/Files.jsx +++ b/src/components/Dashboard/Management/Files.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const Files = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('file') @@ -33,17 +28,11 @@ const Files = () => { const [showSortSidebar, setShowSortSidebar] = useSortSidebarVisibility('Files') - return ( - <> + - - - + + { /> - - + + setShowSortSidebar(!showSortSidebar)} @@ -73,8 +62,7 @@ const Files = () => { /> - - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - + ) } diff --git a/src/components/Dashboard/Management/Hosts.jsx b/src/components/Dashboard/Management/Hosts.jsx index aadd78bb..b50bac4c 100644 --- a/src/components/Dashboard/Management/Hosts.jsx +++ b/src/components/Dashboard/Management/Hosts.jsx @@ -1,6 +1,6 @@ // src/hosts.js -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' @@ -21,11 +21,6 @@ import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' const Hosts = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - // View mode state (cards/list), persisted in sessionStorage via custom hook const [viewMode, setViewMode] = useViewMode('host') @@ -40,13 +35,11 @@ const Hosts = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} - /> - - + /> + + ) } diff --git a/src/components/Dashboard/Management/Materials.jsx b/src/components/Dashboard/Management/Materials.jsx index 2037eeec..d44e66bb 100644 --- a/src/components/Dashboard/Management/Materials.jsx +++ b/src/components/Dashboard/Management/Materials.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' @@ -19,11 +19,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const Materials = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('material') @@ -38,13 +33,11 @@ const Materials = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} - /> - - + /> + + ) } diff --git a/src/components/Dashboard/Management/NoteTypes.jsx b/src/components/Dashboard/Management/NoteTypes.jsx index e4a44e5e..5f6bf049 100644 --- a/src/components/Dashboard/Management/NoteTypes.jsx +++ b/src/components/Dashboard/Management/NoteTypes.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const NoteTypes = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('noteType') @@ -36,13 +31,11 @@ const NoteTypes = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Management/PartSkus.jsx b/src/components/Dashboard/Management/PartSkus.jsx index bf254942..bd09d897 100644 --- a/src/components/Dashboard/Management/PartSkus.jsx +++ b/src/components/Dashboard/Management/PartSkus.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' @@ -19,12 +19,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const PartSkus = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - - const [viewMode, setViewMode] = useViewMode('partSkus') @@ -38,13 +32,11 @@ const PartSkus = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Management/Parts.jsx b/src/components/Dashboard/Management/Parts.jsx index 5235ca22..b579cd4b 100644 --- a/src/components/Dashboard/Management/Parts.jsx +++ b/src/components/Dashboard/Management/Parts.jsx @@ -1,6 +1,6 @@ // src/gcodefiles.js -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' @@ -24,10 +24,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const Parts = (filter) => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) const [viewMode, setViewMode] = useViewMode('part') const [columnVisibility, setColumnVisibility] = useColumnVisibility('part') @@ -40,13 +36,11 @@ const Parts = (filter) => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Management/PermissionSettings.jsx b/src/components/Dashboard/Management/PermissionSettings.jsx index 04a694da..45804f2d 100644 --- a/src/components/Dashboard/Management/PermissionSettings.jsx +++ b/src/components/Dashboard/Management/PermissionSettings.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const PermissionSettingsList = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('permissionSetting') @@ -36,13 +31,11 @@ const PermissionSettingsList = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Management/ProductCategories.jsx b/src/components/Dashboard/Management/ProductCategories.jsx index 6fdd1a97..4786992c 100644 --- a/src/components/Dashboard/Management/ProductCategories.jsx +++ b/src/components/Dashboard/Management/ProductCategories.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' @@ -19,11 +19,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const ProductCategories = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('productCategory') @@ -38,13 +33,11 @@ const ProductCategories = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} - /> - - + /> + + ) } diff --git a/src/components/Dashboard/Management/ProductSkus.jsx b/src/components/Dashboard/Management/ProductSkus.jsx index 30d7ad8a..83696d1a 100644 --- a/src/components/Dashboard/Management/ProductSkus.jsx +++ b/src/components/Dashboard/Management/ProductSkus.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' @@ -19,12 +19,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const ProductSkus = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - - const [viewMode, setViewMode] = useViewMode('productSkus') @@ -39,13 +33,11 @@ const ProductSkus = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Management/Products.jsx b/src/components/Dashboard/Management/Products.jsx index 85f09524..7b69f519 100644 --- a/src/components/Dashboard/Management/Products.jsx +++ b/src/components/Dashboard/Management/Products.jsx @@ -1,6 +1,6 @@ // src/gcodefiles.js -import { useRef, useState } from 'react' +import { useRef } from 'react' import { useNavigate } from 'react-router-dom' import { Button, @@ -36,11 +36,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const Products = () => { const navigate = useNavigate() const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('Products') @@ -310,13 +305,11 @@ const Products = () => { } return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Management/StockAuditLevels.jsx b/src/components/Dashboard/Management/StockAuditLevels.jsx index 2eec44f4..4b2b8ab8 100644 --- a/src/components/Dashboard/Management/StockAuditLevels.jsx +++ b/src/components/Dashboard/Management/StockAuditLevels.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const StockAuditLevels = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('stockAuditLevel') @@ -35,12 +30,11 @@ const StockAuditLevels = () => { useSortSidebarVisibility('StockAuditLevels') return ( - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - + + ) } diff --git a/src/components/Dashboard/Management/TaxRates.jsx b/src/components/Dashboard/Management/TaxRates.jsx index 68d8a8d7..491a7faa 100644 --- a/src/components/Dashboard/Management/TaxRates.jsx +++ b/src/components/Dashboard/Management/TaxRates.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const TaxRates = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('taxRate') @@ -35,13 +30,11 @@ const TaxRates = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Management/UserGroups.jsx b/src/components/Dashboard/Management/UserGroups.jsx index c04c112a..a5d1190d 100644 --- a/src/components/Dashboard/Management/UserGroups.jsx +++ b/src/components/Dashboard/Management/UserGroups.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const UserGroups = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('userGroup') @@ -35,13 +30,11 @@ const UserGroups = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Management/Users.jsx b/src/components/Dashboard/Management/Users.jsx index 000b78c6..d651397b 100644 --- a/src/components/Dashboard/Management/Users.jsx +++ b/src/components/Dashboard/Management/Users.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const Users = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('user') @@ -35,12 +30,11 @@ const Users = () => { return ( - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - + + ) } diff --git a/src/components/Dashboard/Management/Vendors.jsx b/src/components/Dashboard/Management/Vendors.jsx index 66170460..a33210d3 100644 --- a/src/components/Dashboard/Management/Vendors.jsx +++ b/src/components/Dashboard/Management/Vendors.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,10 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const Vendors = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) const [viewMode, setViewMode] = useViewMode('vendor') @@ -33,46 +29,40 @@ const Vendors = () => { useSortSidebarVisibility('Vendors') return ( - <> + - - - - tableRef.current?.reload()} - /> - - - - - - setShowSortSidebar(!showSortSidebar)} - /> - setShowFilterSidebar(!showFilterSidebar)} - /> - - - - - + + + tableRef.current?.reload()} + /> + + + + + + setShowSortSidebar(!showSortSidebar)} + /> + setShowFilterSidebar(!showFilterSidebar)} + /> + + + + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - + ) } diff --git a/src/components/Dashboard/Production/FilamentProfiles.jsx b/src/components/Dashboard/Production/FilamentProfiles.jsx index 431e6d0b..343238aa 100644 --- a/src/components/Dashboard/Production/FilamentProfiles.jsx +++ b/src/components/Dashboard/Production/FilamentProfiles.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ColumnViewButton from '../common/ColumnViewButton' import ExportListButton from '../common/ExportListButton' @@ -17,10 +17,6 @@ import useViewMode from '../hooks/useViewMode' const FilamentProfiles = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) const [viewMode, setViewMode] = useViewMode('FilamentProfiles') const [columnVisibility, setColumnVisibility] = @@ -33,13 +29,11 @@ const FilamentProfiles = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Production/GCodeFiles.jsx b/src/components/Dashboard/Production/GCodeFiles.jsx index 79484e9a..353fa35b 100644 --- a/src/components/Dashboard/Production/GCodeFiles.jsx +++ b/src/components/Dashboard/Production/GCodeFiles.jsx @@ -1,6 +1,6 @@ // src/gcodefiles.js -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import useColumnVisibility from '../hooks/useColumnVisibility' import ObjectTable from '../common/ObjectTable' @@ -20,10 +20,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const GCodeFiles = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) const [viewMode, setViewMode] = useViewMode('gcodeFile') @@ -38,13 +34,11 @@ const GCodeFiles = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Production/Jobs.jsx b/src/components/Dashboard/Production/Jobs.jsx index 2c656d16..a515c6ef 100644 --- a/src/components/Dashboard/Production/Jobs.jsx +++ b/src/components/Dashboard/Production/Jobs.jsx @@ -1,6 +1,6 @@ // src/Jobs.js -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import useColumnVisibility from '../hooks/useColumnVisibility.jsx' import ObjectTable from '../common/ObjectTable.jsx' @@ -19,10 +19,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const Jobs = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) const [viewMode, setViewMode] = useViewMode('job') @@ -36,13 +32,11 @@ const Jobs = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Production/PrinterProfiles.jsx b/src/components/Dashboard/Production/PrinterProfiles.jsx index 2c1f31bc..524fa514 100644 --- a/src/components/Dashboard/Production/PrinterProfiles.jsx +++ b/src/components/Dashboard/Production/PrinterProfiles.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ColumnViewButton from '../common/ColumnViewButton' import ExportListButton from '../common/ExportListButton' @@ -16,10 +16,6 @@ import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useViewMode from '../hooks/useViewMode' const PrinterProfiles = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) const [viewMode, setViewMode] = useViewMode('PrinterProfiles') const [columnVisibility, setColumnVisibility] = @@ -32,13 +28,11 @@ const PrinterProfiles = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Production/Printers.jsx b/src/components/Dashboard/Production/Printers.jsx index 4ab4cf19..2cd0e4ef 100644 --- a/src/components/Dashboard/Production/Printers.jsx +++ b/src/components/Dashboard/Production/Printers.jsx @@ -1,6 +1,6 @@ // src/Printers.js -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Space, Flex } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -20,11 +20,6 @@ import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' const Printers = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - // View mode state (cards/list), persisted in sessionStorage via custom hook const [viewMode, setViewMode] = useViewMode('Printers') @@ -41,13 +36,11 @@ const Printers = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} - /> - - + /> + + ) } diff --git a/src/components/Dashboard/Production/SubJobs.jsx b/src/components/Dashboard/Production/SubJobs.jsx index 2967e09b..baf010cc 100644 --- a/src/components/Dashboard/Production/SubJobs.jsx +++ b/src/components/Dashboard/Production/SubJobs.jsx @@ -1,6 +1,6 @@ // src/SubJobs.js -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import useColumnVisibility from '../hooks/useColumnVisibility.jsx' import ObjectTable from '../common/ObjectTable.jsx' @@ -19,10 +19,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const SubJobs = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) const [viewMode, setViewMode] = useViewMode('subJob') @@ -36,13 +32,11 @@ const SubJobs = () => { return ( - <> - - + + { - - { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} + /> - - + + ) } diff --git a/src/components/Dashboard/Sales/Clients.jsx b/src/components/Dashboard/Sales/Clients.jsx index 6b2ef043..347329bd 100644 --- a/src/components/Dashboard/Sales/Clients.jsx +++ b/src/components/Dashboard/Sales/Clients.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const Clients = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('client') @@ -35,13 +30,11 @@ const Clients = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Sales/FulfillmentPolicies.jsx b/src/components/Dashboard/Sales/FulfillmentPolicies.jsx index 05af093b..71c9ac07 100644 --- a/src/components/Dashboard/Sales/FulfillmentPolicies.jsx +++ b/src/components/Dashboard/Sales/FulfillmentPolicies.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,10 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const FulfillmentPolicies = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) const [viewMode, setViewMode] = useViewMode('fulfillmentPolicy') const [columnVisibility, setColumnVisibility] = @@ -31,12 +27,11 @@ const FulfillmentPolicies = () => { useSortSidebarVisibility('FulfillmentPolicies') return ( - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - + + ) } diff --git a/src/components/Dashboard/Sales/ListingVarients.jsx b/src/components/Dashboard/Sales/ListingVarients.jsx index dc80e2ee..1c6d5691 100644 --- a/src/components/Dashboard/Sales/ListingVarients.jsx +++ b/src/components/Dashboard/Sales/ListingVarients.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const ListingVarients = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('listingVarients') @@ -36,13 +31,11 @@ const ListingVarients = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Sales/Listings.jsx b/src/components/Dashboard/Sales/Listings.jsx index e7bb520d..78b95878 100644 --- a/src/components/Dashboard/Sales/Listings.jsx +++ b/src/components/Dashboard/Sales/Listings.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const Listings = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('listings') @@ -36,13 +31,11 @@ const Listings = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Sales/Marketplaces.jsx b/src/components/Dashboard/Sales/Marketplaces.jsx index e6ecbb73..5a5b73da 100644 --- a/src/components/Dashboard/Sales/Marketplaces.jsx +++ b/src/components/Dashboard/Sales/Marketplaces.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const Marketplaces = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('marketplaces') @@ -36,13 +31,11 @@ const Marketplaces = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/Sales/ReturnPolicies.jsx b/src/components/Dashboard/Sales/ReturnPolicies.jsx index 3d673e37..eae11c21 100644 --- a/src/components/Dashboard/Sales/ReturnPolicies.jsx +++ b/src/components/Dashboard/Sales/ReturnPolicies.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,10 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const ReturnPolicies = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) const [viewMode, setViewMode] = useViewMode('returnPolicy') const [columnVisibility, setColumnVisibility] = useColumnVisibility('returnPolicy') @@ -30,12 +26,11 @@ const ReturnPolicies = () => { useSortSidebarVisibility('ReturnPolicies') return ( - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - + + ) } diff --git a/src/components/Dashboard/Sales/SalesOrders.jsx b/src/components/Dashboard/Sales/SalesOrders.jsx index 393a36e2..0e1a9add 100644 --- a/src/components/Dashboard/Sales/SalesOrders.jsx +++ b/src/components/Dashboard/Sales/SalesOrders.jsx @@ -1,4 +1,4 @@ -import { useRef, useState } from 'react' +import { useRef } from 'react' import { Flex, Space } from 'antd' import ObjectTable from '../common/ObjectTable' import ObjectActions from '../common/ObjectActions' @@ -17,11 +17,6 @@ import { ObjectListViewProvider } from '../context/ObjectListViewContext' const SalesOrders = () => { const tableRef = useRef() - const [viewState, setViewState] = useState({ - activeView: null, - handleFilterSortChange: null - }) - const [viewMode, setViewMode] = useViewMode('salesOrders') @@ -36,13 +31,11 @@ const SalesOrders = () => { return ( - <> - - + + { - + { saveSortInUrl={true} useSortInSession={true} useSortInUrl={true} - activeObjectView={viewState.activeView} - onObjectViewFilterSortChange={viewState.handleFilterSortChange} /> - - + + ) } diff --git a/src/components/Dashboard/common/ListViewTabs.jsx b/src/components/Dashboard/common/ListViewTabs.jsx index 25e8952c..d2998497 100644 --- a/src/components/Dashboard/common/ListViewTabs.jsx +++ b/src/components/Dashboard/common/ListViewTabs.jsx @@ -1,5 +1,5 @@ import PropTypes from 'prop-types' -import React, { useMemo } from 'react' +import React, { useEffect, useMemo, useState } from 'react' import { Input, Dropdown, @@ -46,7 +46,8 @@ const ViewOptionsDropdown = ({ view, isEditing, onChange, onDelete }) => { domEvent.stopPropagation() onDelete?.() } - } + }, + { type: 'divider' } ] } @@ -203,6 +204,18 @@ const ListViewTabs = () => { viewTabSignatures } = useObjectListView() + const [animated, setAnimated] = useState(false) + + useEffect(() => { + if (initialLoading) { + setAnimated(false) + return undefined + } + + const timeoutId = setTimeout(() => setAnimated(true), 10) + return () => clearTimeout(timeoutId) + }, [initialLoading]) + const model = getModelByName(objectType) const options = useMemo(() => { @@ -286,6 +299,7 @@ const ListViewTabs = () => { options={options} onChange={selectTab} onReorder={isEditing ? reorderDraftViews : undefined} + animated={animated} /> {isEditing && (