- 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.
98 lines
3.2 KiB
JavaScript
98 lines
3.2 KiB
JavaScript
// src/gcodefiles.js
|
|
|
|
import { useRef } from 'react'
|
|
import { Flex, Space } from 'antd'
|
|
import useColumnVisibility from '../hooks/useColumnVisibility'
|
|
import ObjectTable from '../common/ObjectTable'
|
|
import ObjectActions from '../common/ObjectActions'
|
|
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 GCodeFiles = () => {
|
|
const tableRef = useRef()
|
|
|
|
const [viewMode, setViewMode] = useViewMode('gcodeFile')
|
|
|
|
const [columnVisibility, setColumnVisibility] =
|
|
useColumnVisibility('gcodeFile')
|
|
|
|
const [showFilterSidebar, setShowFilterSidebar] =
|
|
useFilterSidebarVisibility('GCodeFiles')
|
|
|
|
const [showSortSidebar, setShowSortSidebar] =
|
|
useSortSidebarVisibility('GCodeFiles')
|
|
|
|
|
|
return (
|
|
<ObjectListViewProvider
|
|
objectType='gcodeFile'
|
|
tableRef={tableRef}
|
|
>
|
|
<Flex vertical={'true'} gap='large' className='h-100'>
|
|
<Flex justify='space-between' style={{ minHeight: 0 }} gap='small'>
|
|
<Space>
|
|
<ObjectActions
|
|
type='gcodeFile'
|
|
pageName='list'
|
|
onReload={() => tableRef.current?.reload()}
|
|
/>
|
|
<ColumnViewButton
|
|
type='gcodeFile'
|
|
disabled={false}
|
|
visibleState={columnVisibility}
|
|
updateVisibleState={setColumnVisibility}
|
|
/>
|
|
<ExportListButton objectType='gcodeFile' />
|
|
</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}
|
|
type='gcodeFile'
|
|
cards={viewMode === 'cards'}
|
|
visibleColumns={columnVisibility}
|
|
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 GCodeFiles
|