- 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.
95 lines
3.2 KiB
JavaScript
95 lines
3.2 KiB
JavaScript
import { useRef } from 'react'
|
|
import { Flex, Space } from 'antd'
|
|
import ObjectTable from '../common/ObjectTable'
|
|
import ObjectActions from '../common/ObjectActions'
|
|
import useColumnVisibility from '../hooks/useColumnVisibility'
|
|
import ObjectTableViewButton from '../common/ObjectTableViewButton'
|
|
import FilterSidebarButton from '../common/FilterSidebarButton'
|
|
import SortSidebarButton from '../common/SortSidebarButton'
|
|
import useViewMode from '../hooks/useViewMode'
|
|
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
|
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
|
import ColumnViewButton from '../common/ColumnViewButton'
|
|
import ExportListButton from '../common/ExportListButton'
|
|
import ListViewTabs from '../common/ListViewTabs'
|
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
|
|
|
const ListingVarients = () => {
|
|
const tableRef = useRef()
|
|
|
|
const [viewMode, setViewMode] = useViewMode('listingVarients')
|
|
|
|
const [columnVisibility, setColumnVisibility] =
|
|
useColumnVisibility('listingVarients')
|
|
|
|
const [showFilterSidebar, setShowFilterSidebar] =
|
|
useFilterSidebarVisibility('ListingVarients')
|
|
|
|
const [showSortSidebar, setShowSortSidebar] =
|
|
useSortSidebarVisibility('ListingVarients')
|
|
|
|
|
|
return (
|
|
<ObjectListViewProvider
|
|
objectType='listingVarient'
|
|
tableRef={tableRef}
|
|
>
|
|
<Flex vertical={'true'} gap='large' className='h-100'>
|
|
<Flex justify='space-between' style={{ minHeight: 0 }} gap='small'>
|
|
<Space size='small'>
|
|
<ObjectActions
|
|
type='listingVarient'
|
|
pageName='list'
|
|
onReload={() => tableRef.current?.reload()}
|
|
/>
|
|
<ColumnViewButton
|
|
type='listingVarient'
|
|
loading={false}
|
|
visibleState={columnVisibility}
|
|
updateVisibleState={setColumnVisibility}
|
|
/>
|
|
<ExportListButton objectType='listingVarient' />
|
|
</Space>
|
|
<ListViewTabs />
|
|
<Space>
|
|
<SortSidebarButton
|
|
active={showSortSidebar}
|
|
onClick={() => setShowSortSidebar(!showSortSidebar)}
|
|
/>
|
|
<FilterSidebarButton
|
|
active={showFilterSidebar}
|
|
onClick={() => setShowFilterSidebar(!showFilterSidebar)}
|
|
/>
|
|
<ObjectTableViewButton
|
|
viewMode={viewMode}
|
|
setViewMode={setViewMode}
|
|
/>
|
|
<ListViewEditButtons showStartingDivider={true} />
|
|
</Space>
|
|
</Flex>
|
|
|
|
<ObjectTable
|
|
ref={tableRef}
|
|
visibleColumns={columnVisibility}
|
|
type='listingVarient'
|
|
cards={viewMode === 'cards'}
|
|
showFilterSidebar={showFilterSidebar}
|
|
showSortSidebar={showSortSidebar}
|
|
expandHeight={true}
|
|
saveFilterInSession={true}
|
|
saveFilterInUrl={true}
|
|
useFilterInSession={true}
|
|
useFilterInUrl={true}
|
|
saveSortInSession={true}
|
|
saveSortInUrl={true}
|
|
useSortInSession={true}
|
|
useSortInUrl={true}
|
|
/>
|
|
</Flex>
|
|
</ObjectListViewProvider>
|
|
)
|
|
}
|
|
|
|
export default ListingVarients
|