All checks were successful
farmcontrol/farmcontrol-ui/pipeline/head This commit looks good
- Integrated InfoActionButtons into multiple components across the Finance and Inventory sections, enhancing user interaction and providing contextual actions for invoices, payment policies, payments, tax records, and various inventory items. - Updated the respective components to include the new buttons with appropriate object types and list mode settings, improving the overall functionality and user experience in the dashboard.
98 lines
3.3 KiB
JavaScript
98 lines
3.3 KiB
JavaScript
// src/Jobs.js
|
|
|
|
import { useRef } from 'react'
|
|
import { Flex, Space } from 'antd'
|
|
import useColumnVisibility from '../hooks/useColumnVisibility.jsx'
|
|
import ObjectTable from '../common/ObjectTable.jsx'
|
|
import ObjectActions from '../common/ObjectActions'
|
|
import BulkObjectActions from '../common/BulkObjectActions'
|
|
import ObjectTableViewButton from '../common/ObjectTableViewButton'
|
|
import FilterSidebarButton from '../common/FilterSidebarButton'
|
|
import SortSidebarButton from '../common/SortSidebarButton'
|
|
import ColumnViewButton from '../common/ColumnViewButton.jsx'
|
|
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility.jsx'
|
|
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
|
|
import ExportListButton from '../common/ExportListButton.jsx'
|
|
import InfoActionButtons from '../common/InfoActionButtons'
|
|
import ListViewTabs from '../common/ListViewTabs'
|
|
import ListViewEditButtons from '../common/ListViewEditButtons'
|
|
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
|
|
|
|
const Jobs = () => {
|
|
const tableRef = useRef()
|
|
|
|
const [columnVisibility, setColumnVisibility] = useColumnVisibility('job')
|
|
|
|
const [showFilterSidebar, setShowFilterSidebar] =
|
|
useFilterSidebarVisibility('Jobs')
|
|
|
|
const [showSortSidebar, setShowSortSidebar] = useSortSidebarVisibility('Jobs')
|
|
|
|
|
|
|
|
return (
|
|
<ObjectListViewProvider
|
|
objectType='job'
|
|
tableRef={tableRef}
|
|
>
|
|
<Flex vertical={'true'} gap='large' className='h-100'>
|
|
<Flex justify='space-between' style={{ minHeight: 0 }} gap='small'>
|
|
<Space size='small'>
|
|
<BulkObjectActions
|
|
type='job'
|
|
onReload={() => tableRef.current?.reload()}
|
|
/>
|
|
<ObjectActions
|
|
type='job'
|
|
pageName='list'
|
|
onReload={() => tableRef.current?.reload()}
|
|
/>
|
|
<ColumnViewButton
|
|
type='job'
|
|
disabled={false}
|
|
visibleState={columnVisibility}
|
|
updateVisibleState={setColumnVisibility}
|
|
/>
|
|
<ExportListButton objectType='job' />
|
|
<InfoActionButtons type='job' listMode={true} />
|
|
</Space>
|
|
<ListViewTabs />
|
|
<Space>
|
|
<SortSidebarButton
|
|
active={showSortSidebar}
|
|
onClick={() => setShowSortSidebar(!showSortSidebar)}
|
|
/>
|
|
<FilterSidebarButton
|
|
active={showFilterSidebar}
|
|
onClick={() => setShowFilterSidebar(!showFilterSidebar)}
|
|
/>
|
|
<ObjectTableViewButton
|
|
objectType='job'
|
|
/>
|
|
<ListViewEditButtons showStartingDivider={true} />
|
|
</Space>
|
|
</Flex>
|
|
<ObjectTable
|
|
ref={tableRef}
|
|
type={'job'}
|
|
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 Jobs
|