// src/Jobs.js import React, { useState, useContext, useRef } from 'react' import { Button, Flex, Space, Modal, Dropdown, message } from 'antd' import { AuthContext } from '../context/AuthContext.js' import NewJob from './Jobs/NewJob.jsx' import useColumnVisibility from '../hooks/useColumnVisibility.js' import PlusIcon from '../../Icons/PlusIcon.jsx' import ReloadIcon from '../../Icons/ReloadIcon.jsx' import ObjectTable from '../common/ObjectTable.jsx' import ListIcon from '../../Icons/ListIcon.jsx' import GridIcon from '../../Icons/GridIcon.jsx' import useViewMode from '../hooks/useViewMode.js' import ColumnViewButton from '../common/ColumnViewButton.jsx' const Jobs = () => { const [messageApi, contextHolder] = message.useMessage() const [newJobOpen, setNewJobOpen] = useState(false) const tableRef = useRef() const [viewMode, setViewMode] = useViewMode('job') const { authenticated } = useContext(AuthContext) const [columnVisibility, setColumnVisibility] = useColumnVisibility('job') const actionItems = { items: [ { label: 'New Print Job', key: 'newJob', icon: }, { type: 'divider' }, { label: 'Reload List', key: 'reloadList', icon: } ], onClick: ({ key }) => { if (key === 'newJob') { showNewJobModal() } else if (key === 'reloadList') { tableRef.current?.reload() } } } const showNewJobModal = () => { setNewJobOpen(true) } return ( <> {contextHolder}