Compare commits

..

No commits in common. "eea7e1f724f5abfbb6403454e38866fe9fcf531e" and "e32e48fa3a5409a1acaa81b0176071dd1712e414" have entirely different histories.

68 changed files with 94 additions and 487 deletions

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -49,7 +48,6 @@ const Invoices = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='invoice' /> <ExportListButton objectType='invoice' />
<InfoActionButtons type='invoice' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -49,7 +48,6 @@ const PaymentPolicies = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='paymentPolicy' /> <ExportListButton objectType='paymentPolicy' />
<InfoActionButtons type='paymentPolicy' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const Payments = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='payment' /> <ExportListButton objectType='payment' />
<InfoActionButtons type='payment' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const TaxRecords = () => {
updateCollapseState={setColumnVisibility} updateCollapseState={setColumnVisibility}
/> />
<ExportListButton objectType='taxRecord' /> <ExportListButton objectType='taxRecord' />
<InfoActionButtons type='taxRecord' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -15,7 +15,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -57,7 +56,6 @@ const FilamentStocks = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='filamentStock' /> <ExportListButton objectType='filamentStock' />
<InfoActionButtons type='filamentStock' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const OrderItems = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='orderItem' /> <ExportListButton objectType='orderItem' />
<InfoActionButtons type='orderItem' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -15,7 +15,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -57,7 +56,6 @@ const PartStocks = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='partStock' /> <ExportListButton objectType='partStock' />
<InfoActionButtons type='partStock' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -16,7 +16,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -58,7 +57,6 @@ const ProductStocks = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='productStock' /> <ExportListButton objectType='productStock' />
<InfoActionButtons type='productStock' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const PurchaseOrders = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='purchaseOrder' /> <ExportListButton objectType='purchaseOrder' />
<InfoActionButtons type='purchaseOrder' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const Shipments = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='shipment' /> <ExportListButton objectType='shipment' />
<InfoActionButtons type='shipment' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -15,7 +15,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -57,7 +56,6 @@ const StockAudits = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='stockAudit' /> <ExportListButton objectType='stockAudit' />
<InfoActionButtons type='stockAudit' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const StockEvents = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='stockEvent' /> <ExportListButton objectType='stockEvent' />
<InfoActionButtons type='stockEvent' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -13,7 +13,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -55,7 +54,6 @@ const StockLocations = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='stockLocation' /> <ExportListButton objectType='stockLocation' />
<InfoActionButtons type='stockLocation' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -13,7 +13,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -55,7 +54,6 @@ const StockTransfers = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='stockTransfer' /> <ExportListButton objectType='stockTransfer' />
<InfoActionButtons type='stockTransfer' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import SortSidebarButton from '../common/SortSidebarButton'
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility' import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -52,7 +51,6 @@ const AppPasswords = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='appPassword' /> <ExportListButton objectType='appPassword' />
<InfoActionButtons type='appPassword' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import FilterSidebarButton from '../common/FilterSidebarButton'
import SortSidebarButton from '../common/SortSidebarButton' import SortSidebarButton from '../common/SortSidebarButton'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import ObjectTableViewButton from '../common/ObjectTableViewButton' import ObjectTableViewButton from '../common/ObjectTableViewButton'
@ -50,7 +49,6 @@ const AuditLogs = () => {
updateVisibleState={updateColumnVisibility} updateVisibleState={updateColumnVisibility}
/> />
<ExportListButton objectType='auditLog' /> <ExportListButton objectType='auditLog' />
<InfoActionButtons type='auditLog' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const CourierServices = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='courierService' /> <ExportListButton objectType='courierService' />
<InfoActionButtons type='courierService' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -52,7 +51,6 @@ const Couriers = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='courier' /> <ExportListButton objectType='courier' />
<InfoActionButtons type='courier' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const DocumentJobs = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='documentJob' /> <ExportListButton objectType='documentJob' />
<InfoActionButtons type='documentJob' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -8,7 +8,6 @@ import { ApiServerContext } from '../../context/ApiServerContext'
import { useCallback, useContext, useEffect, useRef, useState } from 'react' import { useCallback, useContext, useEffect, useRef, useState } from 'react'
import { Modal } from 'antd' import { Modal } from 'antd'
import dayjs from 'dayjs' import dayjs from 'dayjs'
import { toTemplateObjectData } from '../../utils/templateObjectData'
const NewDocumentJob = ({ onOk, defaultValues = {} }) => { const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
const { const {
@ -126,7 +125,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
}} }}
> >
<TemplatePreview <TemplatePreview
objectData={toTemplateObjectData(objectData?.objects)} objectData={objectData?.object}
documentTemplate={objectData?.documentTemplate} documentTemplate={objectData?.documentTemplate}
/> />
</div> </div>
@ -159,7 +158,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
downloadTemplate( downloadTemplate(
objectData.documentTemplate._id, objectData.documentTemplate._id,
objectData.documentTemplate.content, objectData.documentTemplate.content,
toTemplateObjectData(objectData.objects), objectData.object,
fileName, fileName,
'pdf', 'pdf',
() => { () => {
@ -176,7 +175,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
downloadTemplate( downloadTemplate(
objectData.documentTemplate._id, objectData.documentTemplate._id,
objectData.documentTemplate.content, objectData.documentTemplate.content,
toTemplateObjectData(objectData.objects), objectData.object,
fileName, fileName,
'png', 'png',
() => { () => {
@ -193,7 +192,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
downloadTemplate( downloadTemplate(
objectData.documentTemplate._id, objectData.documentTemplate._id,
objectData.documentTemplate.content, objectData.documentTemplate.content,
toTemplateObjectData(objectData.objects), objectData.object,
fileName, fileName,
'jpeg', 'jpeg',
() => { () => {
@ -210,7 +209,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
downloadTemplate( downloadTemplate(
objectData.documentTemplate._id, objectData.documentTemplate._id,
objectData.documentTemplate.content, objectData.documentTemplate.content,
toTemplateObjectData(objectData.objects), objectData.object,
fileName, fileName,
'svg', 'svg',
() => { () => {

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const DocumentPrinters = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='documentPrinter' /> <ExportListButton objectType='documentPrinter' />
<InfoActionButtons type='documentPrinter' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -52,7 +51,6 @@ const DocumentSizes = () => {
updateCollapseState={setColumnVisibility} updateCollapseState={setColumnVisibility}
/> />
<ExportListButton objectType='documentSize' /> <ExportListButton objectType='documentSize' />
<InfoActionButtons type='documentSize' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const DocumentTemplates = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='documentTemplate' /> <ExportListButton objectType='documentTemplate' />
<InfoActionButtons type='documentTemplate' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -49,7 +48,6 @@ const EmailAccounts = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='emailAccount' /> <ExportListButton objectType='emailAccount' />
<InfoActionButtons type='emailAccount' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -49,7 +48,6 @@ const EmailMessages = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='emailMessage' /> <ExportListButton objectType='emailMessage' />
<InfoActionButtons type='emailMessage' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -14,8 +14,7 @@ import WizardView from '../../common/WizardView'
import TemplatePreview from '../../common/TemplatePreview' import TemplatePreview from '../../common/TemplatePreview'
import ProgressDisplay from '../../common/ProgressDisplay' import ProgressDisplay from '../../common/ProgressDisplay'
import { ApiServerContext } from '../../context/ApiServerContext' import { ApiServerContext } from '../../context/ApiServerContext'
import { resolveEmailRecipientsForObjects } from '../../utils/emailRecipients' import { resolveEmailRecipients } from '../../utils/emailRecipients'
import { toTemplateObjectData } from '../../utils/templateObjectData'
const progressByState = { const progressByState = {
queued: 10, queued: 10,
@ -47,13 +46,9 @@ const EmailWizardContent = ({
return return
} }
let cancelled = false let cancelled = false
resolveEmailRecipientsForObjects({ resolveEmailRecipients({
type: objectData?.objectType, type: objectData?.objectType,
objects: Array.isArray(objectData?.objects) objectData: objectData?.object,
? objectData.objects
: objectData?.object
? [objectData.object]
: [],
fetchObject fetchObject
}).then((result) => { }).then((result) => {
if (!cancelled) setCandidates(result) if (!cancelled) setCandidates(result)
@ -65,7 +60,6 @@ const EmailWizardContent = ({
defaultCandidates, defaultCandidates,
fetchObject, fetchObject,
objectData?.object, objectData?.object,
objectData?.objects,
objectData?.objectType objectData?.objectType
]) ])
@ -116,7 +110,7 @@ const EmailWizardContent = ({
visibleProperties={{ visibleProperties={{
name: true, name: true,
objectType: true, objectType: true,
objects: true, object: true,
emailTemplate: true, emailTemplate: true,
emailAccount: true, emailAccount: true,
recipientEmail: true, recipientEmail: true,
@ -148,7 +142,7 @@ const EmailWizardContent = ({
}} }}
> >
<TemplatePreview <TemplatePreview
objectData={toTemplateObjectData(objectData?.objects)} objectData={objectData?.object}
template={objectData?.emailTemplate} template={objectData?.emailTemplate}
templateType='emailTemplate' templateType='emailTemplate'
capabilities={{ capabilities={{

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -49,7 +48,6 @@ const EmailTemplates = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='emailTemplate' /> <ExportListButton objectType='emailTemplate' />
<InfoActionButtons type='emailTemplate' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -13,7 +13,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -55,7 +54,6 @@ const FilamentSkus = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='filamentSku' /> <ExportListButton objectType='filamentSku' />
<InfoActionButtons type='filamentSku' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -13,7 +13,6 @@ import ObjectTableViewButton from '../common/ObjectTableViewButton'
import FilterSidebarButton from '../common/FilterSidebarButton' import FilterSidebarButton from '../common/FilterSidebarButton'
import SortSidebarButton from '../common/SortSidebarButton' import SortSidebarButton from '../common/SortSidebarButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -59,7 +58,6 @@ const Filaments = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='filament' /> <ExportListButton objectType='filament' />
<InfoActionButtons type='filament' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -51,7 +50,6 @@ const Files = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='file' /> <ExportListButton objectType='file' />
<InfoActionButtons type='file' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -7,7 +7,6 @@ import { Flex, Space } from 'antd'
import useColumnVisibility from '../hooks/useColumnVisibility' import useColumnVisibility from '../hooks/useColumnVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -58,7 +57,6 @@ const Hosts = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='host' /> <ExportListButton objectType='host' />
<InfoActionButtons type='host' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -13,7 +13,6 @@ import SortSidebarButton from '../common/SortSidebarButton'
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility' import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -55,7 +54,6 @@ const Materials = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='material' /> <ExportListButton objectType='material' />
<InfoActionButtons type='material' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const NoteTypes = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='noteType' /> <ExportListButton objectType='noteType' />
<InfoActionButtons type='noteType' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -13,7 +13,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -54,7 +53,6 @@ const PartSkus = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='partSku' /> <ExportListButton objectType='partSku' />
<InfoActionButtons type='partSku' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -18,7 +18,6 @@ import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -58,7 +57,6 @@ const Parts = (filter) => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='part' /> <ExportListButton objectType='part' />
<InfoActionButtons type='part' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const PermissionSettingsList = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='permissionSetting' /> <ExportListButton objectType='permissionSetting' />
<InfoActionButtons type='permissionSetting' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -13,7 +13,6 @@ import SortSidebarButton from '../common/SortSidebarButton'
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility' import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -55,7 +54,6 @@ const ProductCategories = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='productCategory' /> <ExportListButton objectType='productCategory' />
<InfoActionButtons type='productCategory' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -13,7 +13,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -55,7 +54,6 @@ const ProductSkus = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='productSku' /> <ExportListButton objectType='productSku' />
<InfoActionButtons type='productSku' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -29,7 +29,6 @@ import SortSidebarButton from '../common/SortSidebarButton'
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility' import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -321,7 +320,6 @@ const Products = () => {
onReload={() => tableRef.current?.reload()} onReload={() => tableRef.current?.reload()}
/> />
<ExportListButton objectType='product' /> <ExportListButton objectType='product' />
<InfoActionButtons type='product' listMode={true} />
<Popover <Popover
content={getViewDropdownItems()} content={getViewDropdownItems()}
placement='bottomLeft' placement='bottomLeft'

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -52,7 +51,6 @@ const StockAuditLevels = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='stockAuditLevel' /> <ExportListButton objectType='stockAuditLevel' />
<InfoActionButtons type='stockAuditLevel' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -52,7 +51,6 @@ const TaxRates = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='taxRate' /> <ExportListButton objectType='taxRate' />
<InfoActionButtons type='taxRate' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -52,7 +51,6 @@ const UserGroups = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='userGroup' /> <ExportListButton objectType='userGroup' />
<InfoActionButtons type='userGroup' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -52,7 +51,6 @@ const Users = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='user' /> <ExportListButton objectType='user' />
<InfoActionButtons type='user' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -51,7 +50,6 @@ const Vendors = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='vendor' /> <ExportListButton objectType='vendor' />
<InfoActionButtons type='vendor' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -2,7 +2,6 @@ import { useRef } from 'react'
import { Flex, Space } from 'antd' import { Flex, Space } from 'antd'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -50,7 +49,6 @@ const FilamentProfiles = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='filamentProfile' /> <ExportListButton objectType='filamentProfile' />
<InfoActionButtons type='filamentProfile' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -14,7 +14,6 @@ import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -56,7 +55,6 @@ const GCodeFiles = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='gcodeFile' /> <ExportListButton objectType='gcodeFile' />
<InfoActionButtons type='gcodeFile' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -13,7 +13,6 @@ import ColumnViewButton from '../common/ColumnViewButton.jsx'
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility.jsx' import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility.jsx'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ExportListButton from '../common/ExportListButton.jsx' import ExportListButton from '../common/ExportListButton.jsx'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -54,7 +53,6 @@ const Jobs = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='job' /> <ExportListButton objectType='job' />
<InfoActionButtons type='job' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -2,7 +2,6 @@ import { useRef } from 'react'
import { Flex, Space } from 'antd' import { Flex, Space } from 'antd'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -49,7 +48,6 @@ const PrinterProfiles = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='printerProfile' /> <ExportListButton objectType='printerProfile' />
<InfoActionButtons type='printerProfile' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -7,7 +7,6 @@ import ObjectActions from '../common/ObjectActions'
import BulkObjectActions from '../common/BulkObjectActions' import BulkObjectActions from '../common/BulkObjectActions'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -59,7 +58,6 @@ const Printers = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='printer' /> <ExportListButton objectType='printer' />
<InfoActionButtons type='printer' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -13,7 +13,6 @@ import ColumnViewButton from '../common/ColumnViewButton.jsx'
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility.jsx' import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility.jsx'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ExportListButton from '../common/ExportListButton.jsx' import ExportListButton from '../common/ExportListButton.jsx'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -54,7 +53,6 @@ const SubJobs = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='subJob' /> <ExportListButton objectType='subJob' />
<InfoActionButtons type='subJob' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -52,7 +51,6 @@ const Clients = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='client' /> <ExportListButton objectType='client' />
<InfoActionButtons type='client' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -49,7 +48,6 @@ const FulfillmentPolicies = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='fulfillmentPolicy' /> <ExportListButton objectType='fulfillmentPolicy' />
<InfoActionButtons type='fulfillmentPolicy' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const ListingVarients = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='listingVarient' /> <ExportListButton objectType='listingVarient' />
<InfoActionButtons type='listingVarient' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const Listings = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='listing' /> <ExportListButton objectType='listing' />
<InfoActionButtons type='listing' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const Marketplaces = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='marketplace' /> <ExportListButton objectType='marketplace' />
<InfoActionButtons type='marketplace' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -48,7 +47,6 @@ const ReturnPolicies = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='returnPolicy' /> <ExportListButton objectType='returnPolicy' />
<InfoActionButtons type='returnPolicy' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -11,7 +11,6 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility' import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton' import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton' import ExportListButton from '../common/ExportListButton'
import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs' import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons' import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext' import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@ -53,7 +52,6 @@ const SalesOrders = () => {
updateVisibleState={setColumnVisibility} updateVisibleState={setColumnVisibility}
/> />
<ExportListButton objectType='salesOrder' /> <ExportListButton objectType='salesOrder' />
<InfoActionButtons type='salesOrder' listMode={true} />
</Space> </Space>
<ListViewTabs /> <ListViewTabs />
<Space> <Space>

View File

@ -7,39 +7,33 @@ import {
useMemo, useMemo,
useRef useRef
} from 'react' } from 'react'
// import { getModelByName } from '../../../database/ObjectModels'
import DocumentPrinterIcon from '../../Icons/DocumentPrinterIcon' import DocumentPrinterIcon from '../../Icons/DocumentPrinterIcon'
import { Button, Dropdown, Modal, message } from 'antd' import { Button, Dropdown, Modal } from 'antd'
import { ApiServerContext } from '../context/ApiServerContext' import { ApiServerContext } from '../context/ApiServerContext'
import { TableStateContext } from '../context/TableStateContext'
import DocumentTemplateIcon from '../../Icons/DocumentTemplateIcon' import DocumentTemplateIcon from '../../Icons/DocumentTemplateIcon'
import NewDocumentJob from '../Management/DocumentJobs/NewDocumentJob' import NewDocumentJob from '../Management/DocumentJobs/NewDocumentJob'
import { AuthContext } from '../context/AuthContext' import { AuthContext } from '../context/AuthContext'
import LoadingPleaseWaitModal from './LoadingPleaseWaitModal'
import { fetchAllObjectPages } from '../utils/fetchAllObjectPages'
import { resolveObjectsList } from '../utils/templateObjectData'
const DocumentPrintButton = ({ const DocumentPrintButton = ({
type, type,
objectData, objectData,
objects,
listMode = false,
disabled = false, disabled = false,
...buttonProps ...buttonProps
}) => { }) => {
const { fetchObjects, connected, subscribeToObjectUpdates, subscribeToObjectTypeUpdates } = const {
useContext(ApiServerContext) fetchObjects,
const tableState = useContext(TableStateContext) connected,
subscribeToObjectUpdates,
subscribeToObjectTypeUpdates
} = useContext(ApiServerContext)
const fetchObjectsRef = useRef(fetchObjects) const fetchObjectsRef = useRef(fetchObjects)
fetchObjectsRef.current = fetchObjects fetchObjectsRef.current = fetchObjects
const [documentTemplates, setDocumentTemplates] = useState([]) const [documentTemplates, setDocumentTemplates] = useState([])
const [currentDocumentTemplate, setCurrentDocumentTemplate] = useState(null) const [currentDocumentTemplate, setCurrentDocumentTemplate] = useState(null)
const [loading, setLoading] = useState(false) const [loading, setLoading] = useState(false)
const [listLoading, setListLoading] = useState(false)
const [newDocumentJobOpen, setNewDocumentJobOpen] = useState(false) const [newDocumentJobOpen, setNewDocumentJobOpen] = useState(false)
const [selectedObjects, setSelectedObjects] = useState(() =>
resolveObjectsList(objects, objectData)
)
const subscribedIdsRef = useRef([]) const subscribedIdsRef = useRef([])
const unsubscribesRef = useRef([]) const unsubscribesRef = useRef([])
@ -48,11 +42,6 @@ const DocumentPrintButton = ({
const { token } = useContext(AuthContext) const { token } = useContext(AuthContext)
const resolvedObjects = useMemo(
() => resolveObjectsList(objects, objectData),
[objects, objectData]
)
const subscriptionFilter = useMemo( const subscriptionFilter = useMemo(
() => ({ () => ({
objectType: type, objectType: type,
@ -80,7 +69,7 @@ const DocumentPrintButton = ({
try { try {
const result = await fetchObjectsRef.current('documentTemplate', { const result = await fetchObjectsRef.current('documentTemplate', {
filter: subscriptionFilter, filter: subscriptionFilter,
limit: 100 limit: 100 // Get more templates to show in dropdown
}) })
if (result && result.data) { if (result && result.data) {
@ -100,13 +89,13 @@ const DocumentPrintButton = ({
const loadDocumentTemplatesRef = useRef(loadDocumentTemplates) const loadDocumentTemplatesRef = useRef(loadDocumentTemplates)
loadDocumentTemplatesRef.current = loadDocumentTemplates loadDocumentTemplatesRef.current = loadDocumentTemplates
// Stable key from objectData._id (excludes _isEditing so toggling edit mode doesn't trigger template reload)
const objectKey = useMemo(() => { const objectKey = useMemo(() => {
if (listMode) return 'list' if (!objectData) return null
const first = resolvedObjects[0] return objectData._id ?? objectData.id ?? null
if (!first) return null }, [objectData])
return first._id ?? first.id ?? null
}, [listMode, resolvedObjects])
// Fetch document templates when component mounts or objectData, type or token changes
useEffect(() => { useEffect(() => {
loadDocumentTemplates() loadDocumentTemplates()
}, [objectKey, token, type, loadDocumentTemplates]) }, [objectKey, token, type, loadDocumentTemplates])
@ -158,9 +147,7 @@ const DocumentPrintButton = ({
useEffect(() => { useEffect(() => {
if (connected !== true) return if (connected !== true) return
const templateIds = documentTemplates const templateIds = documentTemplates.map((template) => template._id).filter(Boolean)
.map((template) => template._id)
.filter(Boolean)
const newTemplateIds = templateIds.filter( const newTemplateIds = templateIds.filter(
(id) => !subscribedIdsRef.current.includes(id) (id) => !subscribedIdsRef.current.includes(id)
@ -210,40 +197,15 @@ const DocumentPrintButton = ({
} }
}, []) }, [])
const handleTemplateSelect = useCallback( // Handle template selection
async (template) => { const handleTemplateSelect = (template) => {
setCurrentDocumentTemplate(template) setCurrentDocumentTemplate(template)
if (listMode) {
setListLoading(true)
try {
const list = await fetchAllObjectPages({
fetchObjects: fetchObjectsRef.current,
type,
filter: tableState?.getObjectListFilter?.(type) || {},
sorter: tableState?.getObjectListSorter?.(type) || {}
})
if (!list.length) {
message.warning('No objects in this list to print')
return
}
setSelectedObjects(list)
setNewDocumentJobOpen(true) setNewDocumentJobOpen(true)
} catch (error) { // TODO: Implement the actual printing logic here
console.error('Error fetching objects for document job:', error) // This could open a print dialog, navigate to a print page, etc.
message.error('Failed to load objects for printing')
} finally {
setListLoading(false)
}
return
} }
setSelectedObjects(resolvedObjects) // Group templates by tag for nested dropdown menu; untagged templates at root
setNewDocumentJobOpen(true)
},
[listMode, resolvedObjects, tableState, type]
)
const menuItems = useMemo(() => { const menuItems = useMemo(() => {
const templatesByTag = new Map() const templatesByTag = new Map()
const untaggedTemplates = [] const untaggedTemplates = []
@ -266,9 +228,9 @@ const DocumentPrintButton = ({
} }
for (const tag of templateTags) { for (const tag of templateTags) {
const tagged = templatesByTag.get(tag) ?? [] const templates = templatesByTag.get(tag) ?? []
tagged.push(template) templates.push(template)
templatesByTag.set(tag, tagged) templatesByTag.set(tag, templates)
} }
} }
@ -290,14 +252,9 @@ const DocumentPrintButton = ({
.map(toTemplateMenuItem) .map(toTemplateMenuItem)
return [...rootUntaggedItems, ...taggedMenuItems] return [...rootUntaggedItems, ...taggedMenuItems]
}, [documentTemplates, handleTemplateSelect]) }, [documentTemplates])
const unavailable =
disabled ||
loading ||
listLoading ||
(!listMode && resolvedObjects.length === 0)
// If no templates available, show disabled state
if (documentTemplates.length === 0 && !loading) { if (documentTemplates.length === 0 && !loading) {
return ( return (
<Button <Button
@ -317,17 +274,16 @@ const DocumentPrintButton = ({
loading: loading loading: loading
}} }}
trigger={['hover']} trigger={['hover']}
disabled={unavailable} disabled={disabled || loading}
> >
<Button <Button
{...buttonProps} {...buttonProps}
icon={<DocumentPrinterIcon />} icon={<DocumentPrinterIcon />}
disabled={unavailable} disabled={disabled || loading}
loading={loading || listLoading} loading={loading}
title={loading ? 'Loading templates...' : 'Print document'} title={loading ? 'Loading templates...' : 'Print document'}
/> />
</Dropdown> </Dropdown>
<LoadingPleaseWaitModal open={listLoading} />
<Modal <Modal
open={newDocumentJobOpen} open={newDocumentJobOpen}
onCancel={() => setNewDocumentJobOpen(false)} onCancel={() => setNewDocumentJobOpen(false)}
@ -349,7 +305,7 @@ const DocumentPrintButton = ({
reset={!newDocumentJobOpen} reset={!newDocumentJobOpen}
defaultValues={{ defaultValues={{
objectType: type, objectType: type,
objects: selectedObjects, object: objectData,
documentTemplate: currentDocumentTemplate documentTemplate: currentDocumentTemplate
}} }}
/> />
@ -361,9 +317,7 @@ const DocumentPrintButton = ({
DocumentPrintButton.propTypes = { DocumentPrintButton.propTypes = {
type: PropTypes.string.isRequired, type: PropTypes.string.isRequired,
disabled: PropTypes.bool, disabled: PropTypes.bool,
objectData: PropTypes.object, objectData: PropTypes.object.isRequired
objects: PropTypes.array,
listMode: PropTypes.bool
} }
export default DocumentPrintButton export default DocumentPrintButton

View File

@ -7,30 +7,18 @@ import {
useRef, useRef,
useState useState
} from 'react' } from 'react'
import { Button, Dropdown, Modal, message } from 'antd' import { Button, Dropdown, Modal } from 'antd'
import { ApiServerContext } from '../context/ApiServerContext' import { ApiServerContext } from '../context/ApiServerContext'
import { AuthContext } from '../context/AuthContext' import { AuthContext } from '../context/AuthContext'
import { TableStateContext } from '../context/TableStateContext'
import MailIcon from '../../Icons/MailIcon' import MailIcon from '../../Icons/MailIcon'
import EmailTemplateIcon from '../../Icons/EmailTemplateIcon' import EmailTemplateIcon from '../../Icons/EmailTemplateIcon'
import NewEmailMessage from '../Management/EmailMessages/NewEmailMessage' import NewEmailMessage from '../Management/EmailMessages/NewEmailMessage'
import { import {
getDefaultEmailRecipient, getDefaultEmailRecipient,
resolveEmailRecipients, resolveEmailRecipients
resolveEmailRecipientsForObjects
} from '../utils/emailRecipients' } from '../utils/emailRecipients'
import LoadingPleaseWaitModal from './LoadingPleaseWaitModal'
import { fetchAllObjectPages } from '../utils/fetchAllObjectPages'
import { resolveObjectsList } from '../utils/templateObjectData'
const EmailSendButton = ({ const EmailSendButton = ({ type, objectData, disabled = false, ...buttonProps }) => {
type,
objectData,
objects,
listMode = false,
disabled = false,
...buttonProps
}) => {
const { const {
fetchObject, fetchObject,
fetchObjects, fetchObjects,
@ -39,26 +27,16 @@ const EmailSendButton = ({
subscribeToObjectTypeUpdates subscribeToObjectTypeUpdates
} = useContext(ApiServerContext) } = useContext(ApiServerContext)
const { token } = useContext(AuthContext) const { token } = useContext(AuthContext)
const tableState = useContext(TableStateContext)
const [templates, setTemplates] = useState([]) const [templates, setTemplates] = useState([])
const [recipients, setRecipients] = useState([]) const [recipients, setRecipients] = useState([])
const [selectedTemplate, setSelectedTemplate] = useState(null) const [selectedTemplate, setSelectedTemplate] = useState(null)
const [selectedObjects, setSelectedObjects] = useState(() =>
resolveObjectsList(objects, objectData)
)
const [open, setOpen] = useState(false) const [open, setOpen] = useState(false)
const [loading, setLoading] = useState(false) const [loading, setLoading] = useState(false)
const [listLoading, setListLoading] = useState(false)
const fetchObjectsRef = useRef(fetchObjects) const fetchObjectsRef = useRef(fetchObjects)
const fetchObjectRef = useRef(fetchObject) const fetchObjectRef = useRef(fetchObject)
fetchObjectsRef.current = fetchObjects fetchObjectsRef.current = fetchObjects
fetchObjectRef.current = fetchObject fetchObjectRef.current = fetchObject
const resolvedObjects = useMemo(
() => resolveObjectsList(objects, objectData),
[objects, objectData]
)
const filter = useMemo( const filter = useMemo(
() => ({ objectType: type, global: false, active: true }), () => ({ objectType: type, global: false, active: true }),
[type] [type]
@ -93,15 +71,11 @@ const EmailSendButton = ({
}, [loadTemplates]) }, [loadTemplates])
useEffect(() => { useEffect(() => {
if (listMode) {
setRecipients([])
return undefined
}
let cancelled = false let cancelled = false
setRecipients([]) setRecipients([])
resolveEmailRecipients({ resolveEmailRecipients({
type, type,
objectData: resolvedObjects[0], objectData,
fetchObject: (...args) => fetchObjectRef.current(...args) fetchObject: (...args) => fetchObjectRef.current(...args)
}).then((result) => { }).then((result) => {
if (!cancelled) setRecipients(result) if (!cancelled) setRecipients(result)
@ -109,14 +83,19 @@ const EmailSendButton = ({
return () => { return () => {
cancelled = true cancelled = true
} }
}, [listMode, resolvedObjects, type]) }, [objectData, type])
useEffect(() => { useEffect(() => {
if (!connected) return undefined if (!connected) return undefined
return subscribeToObjectTypeUpdates('emailTemplate', filter, () => return subscribeToObjectTypeUpdates('emailTemplate', filter, () =>
loadTemplates(true) loadTemplates(true)
) )
}, [connected, filter, loadTemplates, subscribeToObjectTypeUpdates]) }, [
connected,
filter,
loadTemplates,
subscribeToObjectTypeUpdates
])
useEffect(() => { useEffect(() => {
if (!connected) return undefined if (!connected) return undefined
@ -142,50 +121,6 @@ const EmailSendButton = ({
return () => unsubscribes.forEach((unsubscribe) => unsubscribe?.()) return () => unsubscribes.forEach((unsubscribe) => unsubscribe?.())
}, [connected, matches, subscribeToObjectUpdates, templates]) }, [connected, matches, subscribeToObjectUpdates, templates])
const handleTemplateSelect = useCallback(
async (template) => {
setSelectedTemplate(template)
if (listMode) {
setListLoading(true)
try {
const list = await fetchAllObjectPages({
fetchObjects: fetchObjectsRef.current,
type,
filter: tableState?.getObjectListFilter?.(type) || {},
sorter: tableState?.getObjectListSorter?.(type) || {}
})
if (!list.length) {
message.warning('No objects in this list to email')
return
}
const nextRecipients = await resolveEmailRecipientsForObjects({
type,
objects: list,
fetchObject: (...args) => fetchObjectRef.current(...args)
})
if (!nextRecipients.length) {
message.warning('No email recipients available for these objects')
return
}
setSelectedObjects(list)
setRecipients(nextRecipients)
setOpen(true)
} catch (error) {
console.error('Error fetching objects for email:', error)
message.error('Failed to load objects for email')
} finally {
setListLoading(false)
}
return
}
setSelectedObjects(resolvedObjects)
setOpen(true)
},
[listMode, resolvedObjects, tableState, type]
)
const menuItems = useMemo(() => { const menuItems = useMemo(() => {
const byTag = new Map() const byTag = new Map()
const untagged = [] const untagged = []
@ -194,7 +129,8 @@ const EmailSendButton = ({
label: template.name, label: template.name,
icon: <EmailTemplateIcon />, icon: <EmailTemplateIcon />,
onClick: () => { onClick: () => {
handleTemplateSelect(template) setSelectedTemplate(template)
setOpen(true)
} }
}) })
@ -223,24 +159,15 @@ const EmailSendButton = ({
.map(makeItem) .map(makeItem)
})) }))
] ]
}, [handleTemplateSelect, templates]) }, [templates])
const defaultRecipient = useMemo( const defaultRecipient = useMemo(
() => getDefaultEmailRecipient(recipients), () => getDefaultEmailRecipient(recipients),
[recipients] [recipients]
) )
const unavailable = const unavailable = disabled || loading || !templates.length || !recipients.length
disabled || const title = !recipients.length
loading ||
listLoading ||
!templates.length ||
(!listMode && (!resolvedObjects.length || !recipients.length))
const title = listMode
? !templates.length
? 'No email templates available for this object type'
: 'Send email'
: !recipients.length
? 'No email recipients available for this object' ? 'No email recipients available for this object'
: !templates.length : !templates.length
? 'No email templates available for this object type' ? 'No email templates available for this object type'
@ -253,11 +180,10 @@ const EmailSendButton = ({
{...buttonProps} {...buttonProps}
icon={<MailIcon />} icon={<MailIcon />}
disabled={unavailable} disabled={unavailable}
loading={loading || listLoading} loading={loading}
title={title} title={title}
/> />
</Dropdown> </Dropdown>
<LoadingPleaseWaitModal open={listLoading} />
<Modal <Modal
open={open} open={open}
onCancel={() => setOpen(false)} onCancel={() => setOpen(false)}
@ -269,7 +195,7 @@ const EmailSendButton = ({
onOk={() => setOpen(false)} onOk={() => setOpen(false)}
defaultValues={{ defaultValues={{
objectType: type, objectType: type,
objects: selectedObjects, object: objectData,
emailTemplate: selectedTemplate, emailTemplate: selectedTemplate,
...defaultRecipient ...defaultRecipient
}} }}
@ -282,9 +208,7 @@ const EmailSendButton = ({
EmailSendButton.propTypes = { EmailSendButton.propTypes = {
type: PropTypes.string.isRequired, type: PropTypes.string.isRequired,
objectData: PropTypes.object, objectData: PropTypes.object.isRequired,
objects: PropTypes.array,
listMode: PropTypes.bool,
disabled: PropTypes.bool disabled: PropTypes.bool
} }

View File

@ -52,9 +52,6 @@ const HostDeviceScanner = ({
? crypto.randomUUID() ? crypto.randomUUID()
: `scan-${Date.now()}-${Math.random().toString(16).slice(2)}` : `scan-${Date.now()}-${Math.random().toString(16).slice(2)}`
) )
const startedRef = useRef(false)
const activeHostIdRef = useRef(null)
const pendingStopRef = useRef(null)
const [scanning, setScanning] = useState(false) const [scanning, setScanning] = useState(false)
const [progress, setProgress] = useState(0) const [progress, setProgress] = useState(0)
@ -83,52 +80,22 @@ const HostDeviceScanner = ({
} }
useEffect(() => { useEffect(() => {
const sessionId = sessionIdRef.current if (!hostId || connected !== true || !compatible) {
const canScan = Boolean(hostId) && connected === true && compatible
const stopScan = (targetHostId) => {
if (!targetHostId || !startedRef.current) {
return return
} }
sendObjectActionRef.current(targetHostId, 'host', {
type: 'scanNetworkStop',
data: { sessionId }
})
startedRef.current = false
activeHostIdRef.current = null
}
if (pendingStopRef.current) {
clearTimeout(pendingStopRef.current)
pendingStopRef.current = null
}
if (!canScan) {
const hostToStop = activeHostIdRef.current
pendingStopRef.current = setTimeout(() => {
stopScan(hostToStop)
pendingStopRef.current = null
}, 250)
return () => {
if (pendingStopRef.current) {
clearTimeout(pendingStopRef.current)
pendingStopRef.current = null
}
}
}
let cancelled = false let cancelled = false
console.log('Scan session id:', sessionId) const sessionId = sessionIdRef.current
const isSessionEvent = (event) => event?.data?.sessionId === sessionId const isSessionEvent = (event) => event?.data?.sessionId === sessionId
const startScan = () => { const startScan = () => {
if (cancelled) return
setProgress(0) setProgress(0)
setCurrentIP(null) setCurrentIP(null)
setScanError(null) setScanError(null)
setScanning(true) setScanning(true)
setDevices([])
setSelectedKey(null)
sendObjectActionRef.current( sendObjectActionRef.current(
hostId, hostId,
@ -146,7 +113,6 @@ const HostDeviceScanner = ({
if (result?.success === false) { if (result?.success === false) {
setScanning(false) setScanning(false)
setScanError(result.error || 'Failed to start network scan') setScanError(result.error || 'Failed to start network scan')
startedRef.current = false
} }
} }
) )
@ -226,27 +192,29 @@ const HostDeviceScanner = ({
onComplete onComplete
) )
const alreadyRunning = startedRef.current && activeHostIdRef.current === hostId setDevices([])
if (!alreadyRunning) { setSelectedKey(null)
if (startedRef.current && activeHostIdRef.current) {
stopScan(activeHostIdRef.current)
}
startedRef.current = true
activeHostIdRef.current = hostId
startScan() startScan()
}
return () => { return () => {
cancelled = true cancelled = true
if (unsubFound) unsubFound() if (unsubFound) unsubFound()
if (unsubProgress) unsubProgress() if (unsubProgress) unsubProgress()
if (unsubComplete) unsubComplete() if (unsubComplete) unsubComplete()
pendingStopRef.current = setTimeout(() => { sendObjectActionRef.current(hostId, 'host', {
stopScan(hostId) type: 'scanNetworkStop',
pendingStopRef.current = null data: { sessionId }
}, 250) })
} }
}, [hostId, connected, compatible]) }, [
hostId,
connected,
compatible,
port,
protocol,
connectionInterface,
objectType
])
const applyDevice = useCallback( const applyDevice = useCallback(
(device) => { (device) => {

View File

@ -25,9 +25,7 @@ const InfoActionButtons = (props) => {
InfoActionButtons.propTypes = { InfoActionButtons.propTypes = {
type: PropTypes.string.isRequired, type: PropTypes.string.isRequired,
disabled: PropTypes.bool, disabled: PropTypes.bool,
objectData: PropTypes.object, objectData: PropTypes.object.isRequired
objects: PropTypes.array,
listMode: PropTypes.bool
} }
export default InfoActionButtons export default InfoActionButtons

View File

@ -1,30 +0,0 @@
import PropTypes from 'prop-types'
import { Modal, Space, Typography } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
const { Text } = Typography
const LoadingPleaseWaitModal = ({ open = false }) => (
<Modal
open={open}
className='loading-modal'
title={false}
height={20}
style={{ maxWidth: 220, top: '50%', transform: 'translateY(-50%)' }}
closable={false}
maskClosable={false}
footer={false}
zIndex={2000}
>
<Space size={'middle'}>
<LoadingOutlined />
<Text style={{ margin: 0 }}>Loading, please wait...</Text>
</Space>
</Modal>
)
LoadingPleaseWaitModal.propTypes = {
open: PropTypes.bool
}
export default LoadingPleaseWaitModal

View File

@ -10,10 +10,7 @@ import {
import { useSearchParams } from 'react-router-dom' import { useSearchParams } from 'react-router-dom'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
const TableStateContext = createContext(null) const TableStateContext = createContext()
// eslint-disable-next-line react-refresh/only-export-components
export { TableStateContext }
export const FILTER_URL_PARAM = 'filter' export const FILTER_URL_PARAM = 'filter'
export const SORT_URL_PARAM = 'sort' export const SORT_URL_PARAM = 'sort'

View File

@ -79,26 +79,6 @@ export const resolveEmailRecipients = async ({
return candidates return candidates
} }
export const resolveEmailRecipientsForObjects = async ({
type,
objects,
fetchObject
}) => {
const list = Array.isArray(objects) ? objects.filter(Boolean) : []
const merged = []
for (const objectData of list) {
const result = await resolveEmailRecipients({
type,
objectData,
fetchObject
})
for (const candidate of result) {
addCandidate(merged, candidate)
}
}
return merged
}
/** Prefer a client/vendor ref; otherwise use a plain email candidate. */ /** Prefer a client/vendor ref; otherwise use a plain email candidate. */
export const getDefaultEmailRecipient = (candidates = []) => { export const getDefaultEmailRecipient = (candidates = []) => {
if (!Array.isArray(candidates) || !candidates.length) return null if (!Array.isArray(candidates) || !candidates.length) return null

View File

@ -1,41 +0,0 @@
export async function fetchAllObjectPages({
fetchObjects,
type,
filter = {},
sorter = {},
limit = 25
}) {
if (!type || typeof fetchObjects !== 'function') return []
const all = []
let page = 1
let totalPages = 1
do {
const result = await fetchObjects(type, {
page,
limit,
filter,
sorter
})
if (!result || Array.isArray(result)) {
break
}
const data = Array.isArray(result.data) ? result.data : []
all.push(...data)
if (Number.isFinite(result.totalPages) && result.totalPages > 0) {
totalPages = result.totalPages
} else if (result.hasMore) {
totalPages = page + 1
} else {
totalPages = page
}
page += 1
} while (page <= totalPages)
return all
}

View File

@ -1,21 +0,0 @@
export function resolveObjectsList(objects, objectData) {
if (Array.isArray(objects) && objects.length) {
return objects.filter(Boolean)
}
if (objectData) {
return [objectData]
}
return []
}
export function toTemplateObjectData(objects) {
const list = Array.isArray(objects) ? objects.filter(Boolean) : []
if (!list.length) return {}
if (list.length === 1) {
const first = list[0]
if (first && typeof first === 'object' && !Array.isArray(first)) {
return first
}
}
return { objects: list }
}

View File

@ -166,12 +166,7 @@ export const DocumentJob = {
columnFixed: 'left', columnFixed: 'left',
value: (objectData) => { value: (objectData) => {
if (objectData?.createdAt == undefined) { if (objectData?.createdAt == undefined) {
const list = Array.isArray(objectData?.objects) return `${objectData?.documentTemplate?.name || 'No template'} ${dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')} (${objectData?.object?.name || objectData?.object?._id})`
? objectData.objects
: []
const first = list[0]
const extra = list.length > 1 ? ` +${list.length - 1}` : ''
return `${objectData?.documentTemplate?.name || 'No template'} ${dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')} (${first?.name || first?._id || 'no object'}${extra})`
} }
} }
}, },
@ -193,11 +188,11 @@ export const DocumentJob = {
type: 'objectType' type: 'objectType'
}, },
{ {
name: 'objects', name: 'object',
label: 'Objects', label: 'Object',
required: true, required: true,
columnWidth: 150, columnWidth: 150,
type: 'objectList', type: 'object',
objectType: (objectData) => { objectType: (objectData) => {
return objectData?.objectType return objectData?.objectType
}, },

View File

@ -220,9 +220,9 @@ export const EmailMessage = {
columnWidth: 180 columnWidth: 180
}, },
{ {
name: 'objects', name: 'object',
label: 'Objects', label: 'Object',
type: 'objectList', type: 'object',
objectType: (data) => data?.objectType, objectType: (data) => data?.objectType,
required: true, required: true,
readOnly: readOnlyAfterCreate, readOnly: readOnlyAfterCreate,