diff --git a/src/components/Dashboard/Finance/Invoices.jsx b/src/components/Dashboard/Finance/Invoices.jsx
index 2cc85d33..071d6d05 100644
--- a/src/components/Dashboard/Finance/Invoices.jsx
+++ b/src/components/Dashboard/Finance/Invoices.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -48,6 +49,7 @@ const Invoices = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Finance/PaymentPolicies.jsx b/src/components/Dashboard/Finance/PaymentPolicies.jsx
index 3f3a5c34..64461393 100644
--- a/src/components/Dashboard/Finance/PaymentPolicies.jsx
+++ b/src/components/Dashboard/Finance/PaymentPolicies.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -48,6 +49,7 @@ const PaymentPolicies = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Finance/Payments.jsx b/src/components/Dashboard/Finance/Payments.jsx
index 4e11c998..847e8a6c 100644
--- a/src/components/Dashboard/Finance/Payments.jsx
+++ b/src/components/Dashboard/Finance/Payments.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const Payments = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Finance/TaxRecords.jsx b/src/components/Dashboard/Finance/TaxRecords.jsx
index 87d6154e..449b9580 100644
--- a/src/components/Dashboard/Finance/TaxRecords.jsx
+++ b/src/components/Dashboard/Finance/TaxRecords.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const TaxRecords = () => {
updateCollapseState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Inventory/FilamentStocks.jsx b/src/components/Dashboard/Inventory/FilamentStocks.jsx
index 37dfb320..b7d39ae8 100644
--- a/src/components/Dashboard/Inventory/FilamentStocks.jsx
+++ b/src/components/Dashboard/Inventory/FilamentStocks.jsx
@@ -15,6 +15,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -56,6 +57,7 @@ const FilamentStocks = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Inventory/OrderItems.jsx b/src/components/Dashboard/Inventory/OrderItems.jsx
index e37a0aa1..6719b969 100644
--- a/src/components/Dashboard/Inventory/OrderItems.jsx
+++ b/src/components/Dashboard/Inventory/OrderItems.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const OrderItems = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Inventory/PartStocks.jsx b/src/components/Dashboard/Inventory/PartStocks.jsx
index 97819f59..4e38664f 100644
--- a/src/components/Dashboard/Inventory/PartStocks.jsx
+++ b/src/components/Dashboard/Inventory/PartStocks.jsx
@@ -15,6 +15,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -56,6 +57,7 @@ const PartStocks = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Inventory/ProductStocks.jsx b/src/components/Dashboard/Inventory/ProductStocks.jsx
index f18a5388..cdf24e28 100644
--- a/src/components/Dashboard/Inventory/ProductStocks.jsx
+++ b/src/components/Dashboard/Inventory/ProductStocks.jsx
@@ -16,6 +16,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -57,6 +58,7 @@ const ProductStocks = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Inventory/PurchaseOrders.jsx b/src/components/Dashboard/Inventory/PurchaseOrders.jsx
index dcbeef06..2a0fe2b3 100644
--- a/src/components/Dashboard/Inventory/PurchaseOrders.jsx
+++ b/src/components/Dashboard/Inventory/PurchaseOrders.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const PurchaseOrders = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Inventory/Shipments.jsx b/src/components/Dashboard/Inventory/Shipments.jsx
index 2c9061f5..3c0b833f 100644
--- a/src/components/Dashboard/Inventory/Shipments.jsx
+++ b/src/components/Dashboard/Inventory/Shipments.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const Shipments = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Inventory/StockAudits.jsx b/src/components/Dashboard/Inventory/StockAudits.jsx
index 36f998c0..382dedd8 100644
--- a/src/components/Dashboard/Inventory/StockAudits.jsx
+++ b/src/components/Dashboard/Inventory/StockAudits.jsx
@@ -15,6 +15,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -56,6 +57,7 @@ const StockAudits = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Inventory/StockEvents.jsx b/src/components/Dashboard/Inventory/StockEvents.jsx
index 181e2ceb..110d8768 100644
--- a/src/components/Dashboard/Inventory/StockEvents.jsx
+++ b/src/components/Dashboard/Inventory/StockEvents.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const StockEvents = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Inventory/StockLocations.jsx b/src/components/Dashboard/Inventory/StockLocations.jsx
index b652c3e6..e0bbea8e 100644
--- a/src/components/Dashboard/Inventory/StockLocations.jsx
+++ b/src/components/Dashboard/Inventory/StockLocations.jsx
@@ -13,6 +13,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -54,6 +55,7 @@ const StockLocations = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Inventory/StockTransfers.jsx b/src/components/Dashboard/Inventory/StockTransfers.jsx
index 904d9da6..42b5bc10 100644
--- a/src/components/Dashboard/Inventory/StockTransfers.jsx
+++ b/src/components/Dashboard/Inventory/StockTransfers.jsx
@@ -13,6 +13,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -54,6 +55,7 @@ const StockTransfers = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/AppPasswords.jsx b/src/components/Dashboard/Management/AppPasswords.jsx
index fb29570d..089a95b1 100644
--- a/src/components/Dashboard/Management/AppPasswords.jsx
+++ b/src/components/Dashboard/Management/AppPasswords.jsx
@@ -11,6 +11,7 @@ import SortSidebarButton from '../common/SortSidebarButton'
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -51,6 +52,7 @@ const AppPasswords = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/AuditLogs.jsx b/src/components/Dashboard/Management/AuditLogs.jsx
index 45c0139c..1ce0a787 100644
--- a/src/components/Dashboard/Management/AuditLogs.jsx
+++ b/src/components/Dashboard/Management/AuditLogs.jsx
@@ -11,6 +11,7 @@ import FilterSidebarButton from '../common/FilterSidebarButton'
import SortSidebarButton from '../common/SortSidebarButton'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import ObjectTableViewButton from '../common/ObjectTableViewButton'
@@ -49,6 +50,7 @@ const AuditLogs = () => {
updateVisibleState={updateColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/CourierServices.jsx b/src/components/Dashboard/Management/CourierServices.jsx
index 5d78dafe..5cb70382 100644
--- a/src/components/Dashboard/Management/CourierServices.jsx
+++ b/src/components/Dashboard/Management/CourierServices.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const CourierServices = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/Couriers.jsx b/src/components/Dashboard/Management/Couriers.jsx
index 51d8c338..6703a671 100644
--- a/src/components/Dashboard/Management/Couriers.jsx
+++ b/src/components/Dashboard/Management/Couriers.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -51,6 +52,7 @@ const Couriers = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/DocumentJobs.jsx b/src/components/Dashboard/Management/DocumentJobs.jsx
index b9da3c45..e4b775c2 100644
--- a/src/components/Dashboard/Management/DocumentJobs.jsx
+++ b/src/components/Dashboard/Management/DocumentJobs.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const DocumentJobs = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/DocumentJobs/NewDocumentJob.jsx b/src/components/Dashboard/Management/DocumentJobs/NewDocumentJob.jsx
index c9ca88cc..12cb0631 100644
--- a/src/components/Dashboard/Management/DocumentJobs/NewDocumentJob.jsx
+++ b/src/components/Dashboard/Management/DocumentJobs/NewDocumentJob.jsx
@@ -8,6 +8,7 @@ import { ApiServerContext } from '../../context/ApiServerContext'
import { useCallback, useContext, useEffect, useRef, useState } from 'react'
import { Modal } from 'antd'
import dayjs from 'dayjs'
+import { toTemplateObjectData } from '../../utils/templateObjectData'
const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
const {
@@ -125,7 +126,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
}}
>
@@ -158,7 +159,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
downloadTemplate(
objectData.documentTemplate._id,
objectData.documentTemplate.content,
- objectData.object,
+ toTemplateObjectData(objectData.objects),
fileName,
'pdf',
() => {
@@ -175,7 +176,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
downloadTemplate(
objectData.documentTemplate._id,
objectData.documentTemplate.content,
- objectData.object,
+ toTemplateObjectData(objectData.objects),
fileName,
'png',
() => {
@@ -192,7 +193,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
downloadTemplate(
objectData.documentTemplate._id,
objectData.documentTemplate.content,
- objectData.object,
+ toTemplateObjectData(objectData.objects),
fileName,
'jpeg',
() => {
@@ -209,7 +210,7 @@ const NewDocumentJob = ({ onOk, defaultValues = {} }) => {
downloadTemplate(
objectData.documentTemplate._id,
objectData.documentTemplate.content,
- objectData.object,
+ toTemplateObjectData(objectData.objects),
fileName,
'svg',
() => {
diff --git a/src/components/Dashboard/Management/DocumentPrinters.jsx b/src/components/Dashboard/Management/DocumentPrinters.jsx
index 96d487ec..11ed8981 100644
--- a/src/components/Dashboard/Management/DocumentPrinters.jsx
+++ b/src/components/Dashboard/Management/DocumentPrinters.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const DocumentPrinters = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/DocumentSizes.jsx b/src/components/Dashboard/Management/DocumentSizes.jsx
index 5838beab..810e2d84 100644
--- a/src/components/Dashboard/Management/DocumentSizes.jsx
+++ b/src/components/Dashboard/Management/DocumentSizes.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -51,6 +52,7 @@ const DocumentSizes = () => {
updateCollapseState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/DocumentTemplates.jsx b/src/components/Dashboard/Management/DocumentTemplates.jsx
index 195f2190..22d72381 100644
--- a/src/components/Dashboard/Management/DocumentTemplates.jsx
+++ b/src/components/Dashboard/Management/DocumentTemplates.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const DocumentTemplates = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/EmailAccounts.jsx b/src/components/Dashboard/Management/EmailAccounts.jsx
index c23f77ce..bd7b60b9 100644
--- a/src/components/Dashboard/Management/EmailAccounts.jsx
+++ b/src/components/Dashboard/Management/EmailAccounts.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -48,6 +49,7 @@ const EmailAccounts = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/EmailMessages.jsx b/src/components/Dashboard/Management/EmailMessages.jsx
index 751c2f1f..175cbe18 100644
--- a/src/components/Dashboard/Management/EmailMessages.jsx
+++ b/src/components/Dashboard/Management/EmailMessages.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -48,6 +49,7 @@ const EmailMessages = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/EmailMessages/NewEmailMessage.jsx b/src/components/Dashboard/Management/EmailMessages/NewEmailMessage.jsx
index 2c86d6d2..738ffefd 100644
--- a/src/components/Dashboard/Management/EmailMessages/NewEmailMessage.jsx
+++ b/src/components/Dashboard/Management/EmailMessages/NewEmailMessage.jsx
@@ -14,7 +14,8 @@ import WizardView from '../../common/WizardView'
import TemplatePreview from '../../common/TemplatePreview'
import ProgressDisplay from '../../common/ProgressDisplay'
import { ApiServerContext } from '../../context/ApiServerContext'
-import { resolveEmailRecipients } from '../../utils/emailRecipients'
+import { resolveEmailRecipientsForObjects } from '../../utils/emailRecipients'
+import { toTemplateObjectData } from '../../utils/templateObjectData'
const progressByState = {
queued: 10,
@@ -46,9 +47,13 @@ const EmailWizardContent = ({
return
}
let cancelled = false
- resolveEmailRecipients({
+ resolveEmailRecipientsForObjects({
type: objectData?.objectType,
- objectData: objectData?.object,
+ objects: Array.isArray(objectData?.objects)
+ ? objectData.objects
+ : objectData?.object
+ ? [objectData.object]
+ : [],
fetchObject
}).then((result) => {
if (!cancelled) setCandidates(result)
@@ -60,6 +65,7 @@ const EmailWizardContent = ({
defaultCandidates,
fetchObject,
objectData?.object,
+ objectData?.objects,
objectData?.objectType
])
@@ -110,7 +116,7 @@ const EmailWizardContent = ({
visibleProperties={{
name: true,
objectType: true,
- object: true,
+ objects: true,
emailTemplate: true,
emailAccount: true,
recipientEmail: true,
@@ -142,7 +148,7 @@ const EmailWizardContent = ({
}}
>
{
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/FilamentSkus.jsx b/src/components/Dashboard/Management/FilamentSkus.jsx
index ffdcfb41..58a6dc6f 100644
--- a/src/components/Dashboard/Management/FilamentSkus.jsx
+++ b/src/components/Dashboard/Management/FilamentSkus.jsx
@@ -13,6 +13,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -54,6 +55,7 @@ const FilamentSkus = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/Filaments.jsx b/src/components/Dashboard/Management/Filaments.jsx
index 160cae26..53c91516 100644
--- a/src/components/Dashboard/Management/Filaments.jsx
+++ b/src/components/Dashboard/Management/Filaments.jsx
@@ -13,6 +13,7 @@ import ObjectTableViewButton from '../common/ObjectTableViewButton'
import FilterSidebarButton from '../common/FilterSidebarButton'
import SortSidebarButton from '../common/SortSidebarButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -58,6 +59,7 @@ const Filaments = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/Files.jsx b/src/components/Dashboard/Management/Files.jsx
index d87a527b..86f76400 100644
--- a/src/components/Dashboard/Management/Files.jsx
+++ b/src/components/Dashboard/Management/Files.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -50,6 +51,7 @@ const Files = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/Hosts.jsx b/src/components/Dashboard/Management/Hosts.jsx
index 0c01bca8..f143788c 100644
--- a/src/components/Dashboard/Management/Hosts.jsx
+++ b/src/components/Dashboard/Management/Hosts.jsx
@@ -7,6 +7,7 @@ import { Flex, Space } from 'antd'
import useColumnVisibility from '../hooks/useColumnVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -57,6 +58,7 @@ const Hosts = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/Materials.jsx b/src/components/Dashboard/Management/Materials.jsx
index 2d6d4270..da714340 100644
--- a/src/components/Dashboard/Management/Materials.jsx
+++ b/src/components/Dashboard/Management/Materials.jsx
@@ -13,6 +13,7 @@ import SortSidebarButton from '../common/SortSidebarButton'
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -54,6 +55,7 @@ const Materials = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/NoteTypes.jsx b/src/components/Dashboard/Management/NoteTypes.jsx
index 6cd1cbcf..cacb61a6 100644
--- a/src/components/Dashboard/Management/NoteTypes.jsx
+++ b/src/components/Dashboard/Management/NoteTypes.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const NoteTypes = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/PartSkus.jsx b/src/components/Dashboard/Management/PartSkus.jsx
index a5155054..4ec907d0 100644
--- a/src/components/Dashboard/Management/PartSkus.jsx
+++ b/src/components/Dashboard/Management/PartSkus.jsx
@@ -13,6 +13,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -53,6 +54,7 @@ const PartSkus = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/Parts.jsx b/src/components/Dashboard/Management/Parts.jsx
index bc5517eb..c97847d7 100644
--- a/src/components/Dashboard/Management/Parts.jsx
+++ b/src/components/Dashboard/Management/Parts.jsx
@@ -18,6 +18,7 @@ import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -57,6 +58,7 @@ const Parts = (filter) => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/PermissionSettings.jsx b/src/components/Dashboard/Management/PermissionSettings.jsx
index 25b4fe18..654a719c 100644
--- a/src/components/Dashboard/Management/PermissionSettings.jsx
+++ b/src/components/Dashboard/Management/PermissionSettings.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const PermissionSettingsList = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/ProductCategories.jsx b/src/components/Dashboard/Management/ProductCategories.jsx
index c524a203..dfa2a0a5 100644
--- a/src/components/Dashboard/Management/ProductCategories.jsx
+++ b/src/components/Dashboard/Management/ProductCategories.jsx
@@ -13,6 +13,7 @@ import SortSidebarButton from '../common/SortSidebarButton'
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -54,6 +55,7 @@ const ProductCategories = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/ProductSkus.jsx b/src/components/Dashboard/Management/ProductSkus.jsx
index 897124f2..92d8d88b 100644
--- a/src/components/Dashboard/Management/ProductSkus.jsx
+++ b/src/components/Dashboard/Management/ProductSkus.jsx
@@ -13,6 +13,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -54,6 +55,7 @@ const ProductSkus = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/Products.jsx b/src/components/Dashboard/Management/Products.jsx
index 10d31d7a..343d7264 100644
--- a/src/components/Dashboard/Management/Products.jsx
+++ b/src/components/Dashboard/Management/Products.jsx
@@ -29,6 +29,7 @@ import SortSidebarButton from '../common/SortSidebarButton'
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -320,6 +321,7 @@ const Products = () => {
onReload={() => tableRef.current?.reload()}
/>
+
{
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/TaxRates.jsx b/src/components/Dashboard/Management/TaxRates.jsx
index 1abf3d32..4d66a17c 100644
--- a/src/components/Dashboard/Management/TaxRates.jsx
+++ b/src/components/Dashboard/Management/TaxRates.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -51,6 +52,7 @@ const TaxRates = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/UserGroups.jsx b/src/components/Dashboard/Management/UserGroups.jsx
index 8b4bed0d..427c96fd 100644
--- a/src/components/Dashboard/Management/UserGroups.jsx
+++ b/src/components/Dashboard/Management/UserGroups.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -51,6 +52,7 @@ const UserGroups = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/Users.jsx b/src/components/Dashboard/Management/Users.jsx
index 43dc32aa..afd80090 100644
--- a/src/components/Dashboard/Management/Users.jsx
+++ b/src/components/Dashboard/Management/Users.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -51,6 +52,7 @@ const Users = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Management/Vendors.jsx b/src/components/Dashboard/Management/Vendors.jsx
index ac3d21ac..64260c46 100644
--- a/src/components/Dashboard/Management/Vendors.jsx
+++ b/src/components/Dashboard/Management/Vendors.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -50,6 +51,7 @@ const Vendors = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Production/FilamentProfiles.jsx b/src/components/Dashboard/Production/FilamentProfiles.jsx
index 8fbcc484..d508e191 100644
--- a/src/components/Dashboard/Production/FilamentProfiles.jsx
+++ b/src/components/Dashboard/Production/FilamentProfiles.jsx
@@ -2,6 +2,7 @@ import { useRef } from 'react'
import { Flex, Space } from 'antd'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -49,6 +50,7 @@ const FilamentProfiles = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Production/GCodeFiles.jsx b/src/components/Dashboard/Production/GCodeFiles.jsx
index 650a1e4b..ac3b850e 100644
--- a/src/components/Dashboard/Production/GCodeFiles.jsx
+++ b/src/components/Dashboard/Production/GCodeFiles.jsx
@@ -14,6 +14,7 @@ import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -55,6 +56,7 @@ const GCodeFiles = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Production/Jobs.jsx b/src/components/Dashboard/Production/Jobs.jsx
index fe614d6a..6ebf9e64 100644
--- a/src/components/Dashboard/Production/Jobs.jsx
+++ b/src/components/Dashboard/Production/Jobs.jsx
@@ -13,6 +13,7 @@ import ColumnViewButton from '../common/ColumnViewButton.jsx'
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility.jsx'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ExportListButton from '../common/ExportListButton.jsx'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -53,6 +54,7 @@ const Jobs = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Production/PrinterProfiles.jsx b/src/components/Dashboard/Production/PrinterProfiles.jsx
index 52840eea..5ee14e74 100644
--- a/src/components/Dashboard/Production/PrinterProfiles.jsx
+++ b/src/components/Dashboard/Production/PrinterProfiles.jsx
@@ -2,6 +2,7 @@ import { useRef } from 'react'
import { Flex, Space } from 'antd'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -48,6 +49,7 @@ const PrinterProfiles = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Production/Printers.jsx b/src/components/Dashboard/Production/Printers.jsx
index 11405d6f..d3dd7928 100644
--- a/src/components/Dashboard/Production/Printers.jsx
+++ b/src/components/Dashboard/Production/Printers.jsx
@@ -7,6 +7,7 @@ import ObjectActions from '../common/ObjectActions'
import BulkObjectActions from '../common/BulkObjectActions'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -58,6 +59,7 @@ const Printers = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Production/SubJobs.jsx b/src/components/Dashboard/Production/SubJobs.jsx
index 86a0d92d..0e7fa221 100644
--- a/src/components/Dashboard/Production/SubJobs.jsx
+++ b/src/components/Dashboard/Production/SubJobs.jsx
@@ -13,6 +13,7 @@ import ColumnViewButton from '../common/ColumnViewButton.jsx'
import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility.jsx'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ExportListButton from '../common/ExportListButton.jsx'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -53,6 +54,7 @@ const SubJobs = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Sales/Clients.jsx b/src/components/Dashboard/Sales/Clients.jsx
index 9db1b052..69944333 100644
--- a/src/components/Dashboard/Sales/Clients.jsx
+++ b/src/components/Dashboard/Sales/Clients.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -51,6 +52,7 @@ const Clients = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Sales/FulfillmentPolicies.jsx b/src/components/Dashboard/Sales/FulfillmentPolicies.jsx
index 462eeb77..46b297fd 100644
--- a/src/components/Dashboard/Sales/FulfillmentPolicies.jsx
+++ b/src/components/Dashboard/Sales/FulfillmentPolicies.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -48,6 +49,7 @@ const FulfillmentPolicies = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Sales/ListingVarients.jsx b/src/components/Dashboard/Sales/ListingVarients.jsx
index 5d2204fe..1a63b25f 100644
--- a/src/components/Dashboard/Sales/ListingVarients.jsx
+++ b/src/components/Dashboard/Sales/ListingVarients.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const ListingVarients = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Sales/Listings.jsx b/src/components/Dashboard/Sales/Listings.jsx
index e0507943..5678718d 100644
--- a/src/components/Dashboard/Sales/Listings.jsx
+++ b/src/components/Dashboard/Sales/Listings.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const Listings = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Sales/Marketplaces.jsx b/src/components/Dashboard/Sales/Marketplaces.jsx
index b6a31d5b..945b4570 100644
--- a/src/components/Dashboard/Sales/Marketplaces.jsx
+++ b/src/components/Dashboard/Sales/Marketplaces.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const Marketplaces = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Sales/ReturnPolicies.jsx b/src/components/Dashboard/Sales/ReturnPolicies.jsx
index f0c84dad..0d3e84e2 100644
--- a/src/components/Dashboard/Sales/ReturnPolicies.jsx
+++ b/src/components/Dashboard/Sales/ReturnPolicies.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -47,6 +48,7 @@ const ReturnPolicies = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/Sales/SalesOrders.jsx b/src/components/Dashboard/Sales/SalesOrders.jsx
index 385c9c42..36023d65 100644
--- a/src/components/Dashboard/Sales/SalesOrders.jsx
+++ b/src/components/Dashboard/Sales/SalesOrders.jsx
@@ -11,6 +11,7 @@ import useFilterSidebarVisibility from '../hooks/useFilterSidebarVisibility'
import useSortSidebarVisibility from '../hooks/useSortSidebarVisibility'
import ColumnViewButton from '../common/ColumnViewButton'
import ExportListButton from '../common/ExportListButton'
+import InfoActionButtons from '../common/InfoActionButtons'
import ListViewTabs from '../common/ListViewTabs'
import ListViewEditButtons from '../common/ListViewEditButtons'
import { ObjectListViewProvider } from '../context/ObjectListViewContext'
@@ -52,6 +53,7 @@ const SalesOrders = () => {
updateVisibleState={setColumnVisibility}
/>
+
diff --git a/src/components/Dashboard/common/DocumentPrintButton.jsx b/src/components/Dashboard/common/DocumentPrintButton.jsx
index 6e6d4288..cc718433 100644
--- a/src/components/Dashboard/common/DocumentPrintButton.jsx
+++ b/src/components/Dashboard/common/DocumentPrintButton.jsx
@@ -7,33 +7,39 @@ import {
useMemo,
useRef
} from 'react'
-// import { getModelByName } from '../../../database/ObjectModels'
import DocumentPrinterIcon from '../../Icons/DocumentPrinterIcon'
-import { Button, Dropdown, Modal } from 'antd'
+import { Button, Dropdown, Modal, message } from 'antd'
import { ApiServerContext } from '../context/ApiServerContext'
+import { TableStateContext } from '../context/TableStateContext'
import DocumentTemplateIcon from '../../Icons/DocumentTemplateIcon'
import NewDocumentJob from '../Management/DocumentJobs/NewDocumentJob'
import { AuthContext } from '../context/AuthContext'
+import LoadingPleaseWaitModal from './LoadingPleaseWaitModal'
+import { fetchAllObjectPages } from '../utils/fetchAllObjectPages'
+import { resolveObjectsList } from '../utils/templateObjectData'
const DocumentPrintButton = ({
type,
objectData,
+ objects,
+ listMode = false,
disabled = false,
...buttonProps
}) => {
- const {
- fetchObjects,
- connected,
- subscribeToObjectUpdates,
- subscribeToObjectTypeUpdates
- } = useContext(ApiServerContext)
+ const { fetchObjects, connected, subscribeToObjectUpdates, subscribeToObjectTypeUpdates } =
+ useContext(ApiServerContext)
+ const tableState = useContext(TableStateContext)
const fetchObjectsRef = useRef(fetchObjects)
fetchObjectsRef.current = fetchObjects
const [documentTemplates, setDocumentTemplates] = useState([])
const [currentDocumentTemplate, setCurrentDocumentTemplate] = useState(null)
const [loading, setLoading] = useState(false)
+ const [listLoading, setListLoading] = useState(false)
const [newDocumentJobOpen, setNewDocumentJobOpen] = useState(false)
+ const [selectedObjects, setSelectedObjects] = useState(() =>
+ resolveObjectsList(objects, objectData)
+ )
const subscribedIdsRef = useRef([])
const unsubscribesRef = useRef([])
@@ -42,6 +48,11 @@ const DocumentPrintButton = ({
const { token } = useContext(AuthContext)
+ const resolvedObjects = useMemo(
+ () => resolveObjectsList(objects, objectData),
+ [objects, objectData]
+ )
+
const subscriptionFilter = useMemo(
() => ({
objectType: type,
@@ -69,7 +80,7 @@ const DocumentPrintButton = ({
try {
const result = await fetchObjectsRef.current('documentTemplate', {
filter: subscriptionFilter,
- limit: 100 // Get more templates to show in dropdown
+ limit: 100
})
if (result && result.data) {
@@ -89,13 +100,13 @@ const DocumentPrintButton = ({
const loadDocumentTemplatesRef = useRef(loadDocumentTemplates)
loadDocumentTemplatesRef.current = loadDocumentTemplates
- // Stable key from objectData._id (excludes _isEditing so toggling edit mode doesn't trigger template reload)
const objectKey = useMemo(() => {
- if (!objectData) return null
- return objectData._id ?? objectData.id ?? null
- }, [objectData])
+ if (listMode) return 'list'
+ const first = resolvedObjects[0]
+ if (!first) return null
+ return first._id ?? first.id ?? null
+ }, [listMode, resolvedObjects])
- // Fetch document templates when component mounts or objectData, type or token changes
useEffect(() => {
loadDocumentTemplates()
}, [objectKey, token, type, loadDocumentTemplates])
@@ -147,7 +158,9 @@ const DocumentPrintButton = ({
useEffect(() => {
if (connected !== true) return
- const templateIds = documentTemplates.map((template) => template._id).filter(Boolean)
+ const templateIds = documentTemplates
+ .map((template) => template._id)
+ .filter(Boolean)
const newTemplateIds = templateIds.filter(
(id) => !subscribedIdsRef.current.includes(id)
@@ -197,15 +210,40 @@ const DocumentPrintButton = ({
}
}, [])
- // Handle template selection
- const handleTemplateSelect = (template) => {
- setCurrentDocumentTemplate(template)
- setNewDocumentJobOpen(true)
- // TODO: Implement the actual printing logic here
- // This could open a print dialog, navigate to a print page, etc.
- }
+ const handleTemplateSelect = useCallback(
+ async (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)
+ } catch (error) {
+ console.error('Error fetching objects for document job:', error)
+ message.error('Failed to load objects for printing')
+ } finally {
+ setListLoading(false)
+ }
+ return
+ }
+
+ setSelectedObjects(resolvedObjects)
+ setNewDocumentJobOpen(true)
+ },
+ [listMode, resolvedObjects, tableState, type]
+ )
- // Group templates by tag for nested dropdown menu; untagged templates at root
const menuItems = useMemo(() => {
const templatesByTag = new Map()
const untaggedTemplates = []
@@ -228,9 +266,9 @@ const DocumentPrintButton = ({
}
for (const tag of templateTags) {
- const templates = templatesByTag.get(tag) ?? []
- templates.push(template)
- templatesByTag.set(tag, templates)
+ const tagged = templatesByTag.get(tag) ?? []
+ tagged.push(template)
+ templatesByTag.set(tag, tagged)
}
}
@@ -252,9 +290,14 @@ const DocumentPrintButton = ({
.map(toTemplateMenuItem)
return [...rootUntaggedItems, ...taggedMenuItems]
- }, [documentTemplates])
+ }, [documentTemplates, handleTemplateSelect])
+
+ const unavailable =
+ disabled ||
+ loading ||
+ listLoading ||
+ (!listMode && resolvedObjects.length === 0)
- // If no templates available, show disabled state
if (documentTemplates.length === 0 && !loading) {
return (