diff --git a/src/components/Dashboard/Finance/Invoices/InvoiceInfo.jsx b/src/components/Dashboard/Finance/Invoices/InvoiceInfo.jsx
index e7011b8f..5f1e0a4a 100644
--- a/src/components/Dashboard/Finance/Invoices/InvoiceInfo.jsx
+++ b/src/components/Dashboard/Finance/Invoices/InvoiceInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -20,6 +20,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -65,6 +66,19 @@ const InvoiceInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, invoiceId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -153,12 +167,6 @@ const InvoiceInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Finance/Payments/PaymentInfo.jsx b/src/components/Dashboard/Finance/Payments/PaymentInfo.jsx
index 6b3e5398..bbc4d0a4 100644
--- a/src/components/Dashboard/Finance/Payments/PaymentInfo.jsx
+++ b/src/components/Dashboard/Finance/Payments/PaymentInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -58,6 +59,19 @@ const PaymentInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, paymentId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -143,12 +157,6 @@ const PaymentInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
@@ -217,10 +225,7 @@ const PaymentInfo = () => {
diff --git a/src/components/Dashboard/Finance/TaxRecords/TaxRecordInfo.jsx b/src/components/Dashboard/Finance/TaxRecords/TaxRecordInfo.jsx
index 924826c8..c086c2d4 100644
--- a/src/components/Dashboard/Finance/TaxRecords/TaxRecordInfo.jsx
+++ b/src/components/Dashboard/Finance/TaxRecords/TaxRecordInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -50,6 +51,19 @@ const TaxRecordInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, taxRecordId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -133,12 +147,6 @@ const TaxRecordInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Inventory/FilamentStocks/FilamentStockInfo.jsx b/src/components/Dashboard/Inventory/FilamentStocks/FilamentStockInfo.jsx
index dc8301b5..ec2ff160 100644
--- a/src/components/Dashboard/Inventory/FilamentStocks/FilamentStockInfo.jsx
+++ b/src/components/Dashboard/Inventory/FilamentStocks/FilamentStockInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import useCollapseState from '../../hooks/useCollapseState'
@@ -6,6 +6,7 @@ import ObjectForm from '../../common/ObjectForm'
import ObjectInfo from '../../common/ObjectInfo'
import ObjectTable from '../../common/ObjectTable'
import ObjectActions from '../../common/ObjectActions'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ViewButton from '../../common/ViewButton'
import EditButtons from '../../common/EditButtons'
import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButtons.jsx'
@@ -52,6 +53,19 @@ const FilamentStockInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, filamentStockId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -133,12 +147,6 @@ const FilamentStockInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Inventory/OrderItems/OrderItemInfo.jsx b/src/components/Dashboard/Inventory/OrderItems/OrderItemInfo.jsx
index 852d86ea..1ba17839 100644
--- a/src/components/Dashboard/Inventory/OrderItems/OrderItemInfo.jsx
+++ b/src/components/Dashboard/Inventory/OrderItems/OrderItemInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
@@ -51,6 +52,19 @@ const OrderItemInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, orderItemId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -132,12 +146,6 @@ const OrderItemInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Inventory/PartStocks/PartStockInfo.jsx b/src/components/Dashboard/Inventory/PartStocks/PartStockInfo.jsx
index 2156e3b2..914aa0bb 100644
--- a/src/components/Dashboard/Inventory/PartStocks/PartStockInfo.jsx
+++ b/src/components/Dashboard/Inventory/PartStocks/PartStockInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -19,6 +19,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -57,6 +58,19 @@ const PartStockInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, partStockId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
@@ -141,12 +155,6 @@ const PartStockInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Inventory/ProductStocks/ProductStockInfo.jsx b/src/components/Dashboard/Inventory/ProductStocks/ProductStockInfo.jsx
index 131ccd98..d64e0ca1 100644
--- a/src/components/Dashboard/Inventory/ProductStocks/ProductStockInfo.jsx
+++ b/src/components/Dashboard/Inventory/ProductStocks/ProductStockInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -23,6 +23,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -71,6 +72,19 @@ const ProductStockInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, productStockId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
@@ -159,12 +173,6 @@ const ProductStockInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Inventory/PurchaseOrders/PurchaseOrderInfo.jsx b/src/components/Dashboard/Inventory/PurchaseOrders/PurchaseOrderInfo.jsx
index bfaf5b60..91201b80 100644
--- a/src/components/Dashboard/Inventory/PurchaseOrders/PurchaseOrderInfo.jsx
+++ b/src/components/Dashboard/Inventory/PurchaseOrders/PurchaseOrderInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -73,6 +74,19 @@ const PurchaseOrderInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, purchaseOrderId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
orderItemsTableRef?.current?.startEditing?.()
@@ -165,12 +179,6 @@ const PurchaseOrderInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Inventory/Shipments/PurchaseOrderInfo.jsx b/src/components/Dashboard/Inventory/Shipments/PurchaseOrderInfo.jsx
index 801c469e..054b02be 100644
--- a/src/components/Dashboard/Inventory/Shipments/PurchaseOrderInfo.jsx
+++ b/src/components/Dashboard/Inventory/Shipments/PurchaseOrderInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Modal, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -66,6 +67,19 @@ const PurchaseOrderInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, purchaseOrderId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
orderItemsTableRef?.current?.startEditing?.()
@@ -168,12 +182,6 @@ const PurchaseOrderInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Inventory/Shipments/ShipmentInfo.jsx b/src/components/Dashboard/Inventory/Shipments/ShipmentInfo.jsx
index 439cbf36..f4d8a644 100644
--- a/src/components/Dashboard/Inventory/Shipments/ShipmentInfo.jsx
+++ b/src/components/Dashboard/Inventory/Shipments/ShipmentInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -61,6 +62,19 @@ const ShipmentInfo = () => {
editDisabled: false,
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, shipmentId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -146,12 +160,6 @@ const ShipmentInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Inventory/StockAudits/StockAuditInfo.jsx b/src/components/Dashboard/Inventory/StockAudits/StockAuditInfo.jsx
index ab7f0a78..0bed2d67 100644
--- a/src/components/Dashboard/Inventory/StockAudits/StockAuditInfo.jsx
+++ b/src/components/Dashboard/Inventory/StockAudits/StockAuditInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -53,6 +54,19 @@ const StockAuditInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, stockAuditId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
@@ -135,12 +149,6 @@ const StockAuditInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Inventory/StockLocations/StockLocationInfo.jsx b/src/components/Dashboard/Inventory/StockLocations/StockLocationInfo.jsx
index 08a319ed..c7f6aa6f 100644
--- a/src/components/Dashboard/Inventory/StockLocations/StockLocationInfo.jsx
+++ b/src/components/Dashboard/Inventory/StockLocations/StockLocationInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -54,6 +55,19 @@ const StockLocationInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, stockLocationId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
@@ -136,12 +150,6 @@ const StockLocationInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Inventory/StockTransfers/StockTransferInfo.jsx b/src/components/Dashboard/Inventory/StockTransfers/StockTransferInfo.jsx
index 3a0ae2d5..0d7ed3ed 100644
--- a/src/components/Dashboard/Inventory/StockTransfers/StockTransferInfo.jsx
+++ b/src/components/Dashboard/Inventory/StockTransfers/StockTransferInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -19,6 +19,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -61,6 +62,19 @@ const StockTransferInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, stockTransferId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
@@ -147,12 +161,6 @@ const StockTransferInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/AppPasswords/AppPasswordInfo.jsx b/src/components/Dashboard/Management/AppPasswords/AppPasswordInfo.jsx
index 57941bab..78b30fad 100644
--- a/src/components/Dashboard/Management/AppPasswords/AppPasswordInfo.jsx
+++ b/src/components/Dashboard/Management/AppPasswords/AppPasswordInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -14,6 +14,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -54,6 +55,19 @@ const AppPasswordInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, appPasswordId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -131,12 +145,6 @@ const AppPasswordInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/CourierServices/CourierServiceInfo.jsx b/src/components/Dashboard/Management/CourierServices/CourierServiceInfo.jsx
index e4499b8c..e830cd80 100644
--- a/src/components/Dashboard/Management/CourierServices/CourierServiceInfo.jsx
+++ b/src/components/Dashboard/Management/CourierServices/CourierServiceInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -52,6 +53,19 @@ const CourierServiceInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, courierServiceId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -135,12 +149,6 @@ const CourierServiceInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/Couriers/CourierInfo.jsx b/src/components/Dashboard/Management/Couriers/CourierInfo.jsx
index 29d89a25..7a737d22 100644
--- a/src/components/Dashboard/Management/Couriers/CourierInfo.jsx
+++ b/src/components/Dashboard/Management/Couriers/CourierInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -48,6 +49,19 @@ const CourierInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, courierId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -131,12 +145,6 @@ const CourierInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/DocumentJobs/DocumentJobInfo.jsx b/src/components/Dashboard/Management/DocumentJobs/DocumentJobInfo.jsx
index 52ac06bf..86a41d56 100644
--- a/src/components/Dashboard/Management/DocumentJobs/DocumentJobInfo.jsx
+++ b/src/components/Dashboard/Management/DocumentJobs/DocumentJobInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -53,6 +54,19 @@ const DocumentJobInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, documentJobId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -132,12 +146,6 @@ const DocumentJobInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/DocumentPrinters/DocumentPrinterInfo.jsx b/src/components/Dashboard/Management/DocumentPrinters/DocumentPrinterInfo.jsx
index abffb8c0..01e7f7df 100644
--- a/src/components/Dashboard/Management/DocumentPrinters/DocumentPrinterInfo.jsx
+++ b/src/components/Dashboard/Management/DocumentPrinters/DocumentPrinterInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -55,6 +56,19 @@ const DocumentPrinterInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, documentPrinterId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
@@ -140,12 +154,6 @@ const DocumentPrinterInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/DocumentSizes/DocumentSizeInfo.jsx b/src/components/Dashboard/Management/DocumentSizes/DocumentSizeInfo.jsx
index 36410685..1c0bfbbc 100644
--- a/src/components/Dashboard/Management/DocumentSizes/DocumentSizeInfo.jsx
+++ b/src/components/Dashboard/Management/DocumentSizes/DocumentSizeInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -53,6 +54,19 @@ const DocumentSizeInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, documentSizeId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -132,12 +146,6 @@ const DocumentSizeInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/DocumentTemplates/DocumentTemplateDesign.jsx b/src/components/Dashboard/Management/DocumentTemplates/DocumentTemplateDesign.jsx
index ccfb2093..f713806b 100644
--- a/src/components/Dashboard/Management/DocumentTemplates/DocumentTemplateDesign.jsx
+++ b/src/components/Dashboard/Management/DocumentTemplates/DocumentTemplateDesign.jsx
@@ -1,4 +1,4 @@
-import { useState, useRef } from 'react'
+import { useState, useRef, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Space, Flex, Card } from 'antd'
import loglevel from 'loglevel'
@@ -10,9 +10,11 @@ import ViewButton from '../../common/ViewButton.jsx'
import NoteIcon from '../../../Icons/NoteIcon.jsx'
import ObjectForm from '../../common/ObjectForm.jsx'
import EditButtons from '../../common/EditButtons.jsx'
+import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButtons.jsx'
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ScrollBox from '../../common/ScrollBox.jsx'
import TemplateEditor from '../../common/TemplateEditor.jsx'
@@ -46,6 +48,19 @@ const DocumentTemplateDesign = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, documentTemplateId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
diff --git a/src/components/Dashboard/Management/DocumentTemplates/DocumentTemplateInfo.jsx b/src/components/Dashboard/Management/DocumentTemplates/DocumentTemplateInfo.jsx
index e45caa6c..3c4212fb 100644
--- a/src/components/Dashboard/Management/DocumentTemplates/DocumentTemplateInfo.jsx
+++ b/src/components/Dashboard/Management/DocumentTemplates/DocumentTemplateInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -55,6 +56,19 @@ const DocumentTemplateInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, documentTemplateId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
@@ -137,12 +151,6 @@ const DocumentTemplateInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/FilamentSkus/FilamentSkuInfo.jsx b/src/components/Dashboard/Management/FilamentSkus/FilamentSkuInfo.jsx
index 305f96e4..c3b1fd5c 100644
--- a/src/components/Dashboard/Management/FilamentSkus/FilamentSkuInfo.jsx
+++ b/src/components/Dashboard/Management/FilamentSkus/FilamentSkuInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import useCollapseState from '../../hooks/useCollapseState'
@@ -15,6 +15,7 @@ import NoteIcon from '../../../Icons/NoteIcon.jsx'
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -47,6 +48,19 @@ const FilamentSkuInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, filamentSkuId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -130,12 +144,6 @@ const FilamentSkuInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/Filaments/FilamentInfo.jsx b/src/components/Dashboard/Management/Filaments/FilamentInfo.jsx
index 7ee2e650..5c1b17aa 100644
--- a/src/components/Dashboard/Management/Filaments/FilamentInfo.jsx
+++ b/src/components/Dashboard/Management/Filaments/FilamentInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -66,6 +67,19 @@ const FilamentInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, filamentId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -153,12 +167,6 @@ const FilamentInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/Files/FileInfo.jsx b/src/components/Dashboard/Management/Files/FileInfo.jsx
index c1703b95..412a372c 100644
--- a/src/components/Dashboard/Management/Files/FileInfo.jsx
+++ b/src/components/Dashboard/Management/Files/FileInfo.jsx
@@ -1,4 +1,4 @@
-import { useContext, useRef, useState } from 'react'
+import { useContext, useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -56,6 +57,19 @@ const FileInfo = () => {
})
const { fetchFileContent } = useContext(ApiServerContext)
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, fileId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -145,12 +159,6 @@ const FileInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/Hosts/HostInfo.jsx b/src/components/Dashboard/Management/Hosts/HostInfo.jsx
index c217fc15..a0ab9dad 100644
--- a/src/components/Dashboard/Management/Hosts/HostInfo.jsx
+++ b/src/components/Dashboard/Management/Hosts/HostInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -61,6 +62,19 @@ const HostInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, hostId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
@@ -148,12 +162,6 @@ const HostInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/Materials/MaterialInfo.jsx b/src/components/Dashboard/Management/Materials/MaterialInfo.jsx
index f4e48288..3c23a2f4 100644
--- a/src/components/Dashboard/Management/Materials/MaterialInfo.jsx
+++ b/src/components/Dashboard/Management/Materials/MaterialInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -50,6 +51,19 @@ const MaterialInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, materialId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -133,12 +147,6 @@ const MaterialInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/NoteTypes/NoteTypeInfo.jsx b/src/components/Dashboard/Management/NoteTypes/NoteTypeInfo.jsx
index 011eee0b..d00e0af6 100644
--- a/src/components/Dashboard/Management/NoteTypes/NoteTypeInfo.jsx
+++ b/src/components/Dashboard/Management/NoteTypes/NoteTypeInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -14,6 +14,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -43,6 +44,19 @@ const NoteTypeInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, noteTypeId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -121,12 +135,6 @@ const NoteTypeInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/Notes/NoteInfo.jsx b/src/components/Dashboard/Management/Notes/NoteInfo.jsx
index 9548b1ee..f23e145b 100644
--- a/src/components/Dashboard/Management/Notes/NoteInfo.jsx
+++ b/src/components/Dashboard/Management/Notes/NoteInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -20,6 +20,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -51,6 +52,19 @@ const NoteInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, noteId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -135,12 +149,6 @@ const NoteInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/PartSkus/PartSkuInfo.jsx b/src/components/Dashboard/Management/PartSkus/PartSkuInfo.jsx
index f949a991..3a58a40a 100644
--- a/src/components/Dashboard/Management/PartSkus/PartSkuInfo.jsx
+++ b/src/components/Dashboard/Management/PartSkus/PartSkuInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import useCollapseState from '../../hooks/useCollapseState'
@@ -15,6 +15,7 @@ import NoteIcon from '../../../Icons/NoteIcon.jsx'
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -42,6 +43,19 @@ const PartSkuInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, partSkuId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -125,12 +139,6 @@ const PartSkuInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/Parts/PartInfo.jsx b/src/components/Dashboard/Management/Parts/PartInfo.jsx
index 04723b02..d485d854 100644
--- a/src/components/Dashboard/Management/Parts/PartInfo.jsx
+++ b/src/components/Dashboard/Management/Parts/PartInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import useCollapseState from '../../hooks/useCollapseState'
@@ -15,6 +15,7 @@ import NoteIcon from '../../../Icons/NoteIcon.jsx'
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -54,6 +55,19 @@ const PartInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, partId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -133,12 +147,6 @@ const PartInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/PermissionSettings/PermissionSettingInfo.jsx b/src/components/Dashboard/Management/PermissionSettings/PermissionSettingInfo.jsx
index 2dd8be0f..21af764f 100644
--- a/src/components/Dashboard/Management/PermissionSettings/PermissionSettingInfo.jsx
+++ b/src/components/Dashboard/Management/PermissionSettings/PermissionSettingInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space, Spin } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -16,6 +16,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -54,6 +55,19 @@ const PermissionSettingInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, permissionSettingId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -137,12 +151,6 @@ const PermissionSettingInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/ProductCategories/ProductCategoryInfo.jsx b/src/components/Dashboard/Management/ProductCategories/ProductCategoryInfo.jsx
index 60f6e0b1..ede02d46 100644
--- a/src/components/Dashboard/Management/ProductCategories/ProductCategoryInfo.jsx
+++ b/src/components/Dashboard/Management/ProductCategories/ProductCategoryInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import useCollapseState from '../../hooks/useCollapseState'
@@ -15,6 +15,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -47,6 +48,19 @@ const ProductCategoryInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, productCategoryId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -130,12 +144,6 @@ const ProductCategoryInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/ProductSkus/ProductSkuInfo.jsx b/src/components/Dashboard/Management/ProductSkus/ProductSkuInfo.jsx
index 00b5799b..592a7c17 100644
--- a/src/components/Dashboard/Management/ProductSkus/ProductSkuInfo.jsx
+++ b/src/components/Dashboard/Management/ProductSkus/ProductSkuInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import useCollapseState from '../../hooks/useCollapseState'
@@ -15,6 +15,7 @@ import NoteIcon from '../../../Icons/NoteIcon.jsx'
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -48,6 +49,19 @@ const ProductSkuInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, productSkuId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -132,12 +146,6 @@ const ProductSkuInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/Products/ProductInfo.jsx b/src/components/Dashboard/Management/Products/ProductInfo.jsx
index 3ffc1773..d64736c6 100644
--- a/src/components/Dashboard/Management/Products/ProductInfo.jsx
+++ b/src/components/Dashboard/Management/Products/ProductInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import useCollapseState from '../../hooks/useCollapseState'
@@ -16,6 +16,7 @@ import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -54,6 +55,19 @@ const ProductInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, productId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -133,12 +147,6 @@ const ProductInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/TaxRates/TaxRateInfo.jsx b/src/components/Dashboard/Management/TaxRates/TaxRateInfo.jsx
index 7952968e..e7de6139 100644
--- a/src/components/Dashboard/Management/TaxRates/TaxRateInfo.jsx
+++ b/src/components/Dashboard/Management/TaxRates/TaxRateInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -47,6 +48,19 @@ const TaxRateInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, taxRateId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -130,12 +144,6 @@ const TaxRateInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/UserGroups/UserGroupInfo.jsx b/src/components/Dashboard/Management/UserGroups/UserGroupInfo.jsx
index 21f9d4ce..d521e906 100644
--- a/src/components/Dashboard/Management/UserGroups/UserGroupInfo.jsx
+++ b/src/components/Dashboard/Management/UserGroups/UserGroupInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space, Spin } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -16,6 +16,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -54,6 +55,19 @@ const UserGroupInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, userGroupId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -137,12 +151,6 @@ const UserGroupInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/Users/UserInfo.jsx b/src/components/Dashboard/Management/Users/UserInfo.jsx
index 31421fed..60eeb870 100644
--- a/src/components/Dashboard/Management/Users/UserInfo.jsx
+++ b/src/components/Dashboard/Management/Users/UserInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space, Spin } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -53,6 +54,19 @@ const UserInfo = () => {
})
const isMobile = useMediaQuery({ maxWidth: 768 })
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, userId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -132,12 +146,6 @@ const UserInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Management/Vendors/VendorInfo.jsx b/src/components/Dashboard/Management/Vendors/VendorInfo.jsx
index 63ca861f..6f70de56 100644
--- a/src/components/Dashboard/Management/Vendors/VendorInfo.jsx
+++ b/src/components/Dashboard/Management/Vendors/VendorInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -47,6 +48,19 @@ const VendorInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, vendorId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -130,12 +144,6 @@ const VendorInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Production/FilamentProfiles/FilamentProfileInfo.jsx b/src/components/Dashboard/Production/FilamentProfiles/FilamentProfileInfo.jsx
index 47f04da6..a36d3e72 100644
--- a/src/components/Dashboard/Production/FilamentProfiles/FilamentProfileInfo.jsx
+++ b/src/components/Dashboard/Production/FilamentProfiles/FilamentProfileInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import MultiMotionIcon from '../../../Icons/MultiMotionIcon'
import NoteIcon from '../../../Icons/NoteIcon'
import NotesPanel from '../../common/NotesPanel'
import ObjectActions from '../../common/ObjectActions'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectForm from '../../common/ObjectForm'
import ObjectInfo from '../../common/ObjectInfo'
import ObjectTable from '../../common/ObjectTable'
@@ -85,6 +86,19 @@ const FilamentProfileInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, filamentProfileId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef.current?.startEditing?.()
@@ -178,12 +192,6 @@ const FilamentProfileInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Production/GCodeFiles/GCodeFileInfo.jsx b/src/components/Dashboard/Production/GCodeFiles/GCodeFileInfo.jsx
index 83df2575..2d1e3382 100644
--- a/src/components/Dashboard/Production/GCodeFiles/GCodeFileInfo.jsx
+++ b/src/components/Dashboard/Production/GCodeFiles/GCodeFileInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -19,6 +19,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -55,6 +56,19 @@ const GCodeFileInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, gcodeFileId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
@@ -138,12 +152,6 @@ const GCodeFileInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Production/GCodeFiles/GCodeFilePreview.jsx b/src/components/Dashboard/Production/GCodeFiles/GCodeFilePreview.jsx
index 7e5979be..99afd4bf 100644
--- a/src/components/Dashboard/Production/GCodeFiles/GCodeFilePreview.jsx
+++ b/src/components/Dashboard/Production/GCodeFiles/GCodeFilePreview.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Space, Flex, Card } from 'antd'
import loglevel from 'loglevel'
@@ -12,6 +12,8 @@ import EyeIcon from '../../../Icons/EyeIcon.jsx'
import ObjectForm from '../../common/ObjectForm.jsx'
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButtons.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ScrollBox from '../../common/ScrollBox.jsx'
import FilePreview from '../../common/FilePreview.jsx'
import MissingPlaceholder from '../../common/MissingPlaceholder.jsx'
@@ -40,6 +42,19 @@ const GCodeFilePreview = () => {
lock: null
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, gcodeFileId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
return (
{
}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, jobId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
@@ -144,12 +158,6 @@ const JobInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Production/PrinterProfiles/PrinterProfileInfo.jsx b/src/components/Dashboard/Production/PrinterProfiles/PrinterProfileInfo.jsx
index 741651d6..2e64b24e 100644
--- a/src/components/Dashboard/Production/PrinterProfiles/PrinterProfileInfo.jsx
+++ b/src/components/Dashboard/Production/PrinterProfiles/PrinterProfileInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ActivityIndicator from '../../common/ActivityIndicator'
import NoteIcon from '../../../Icons/NoteIcon'
import NotesPanel from '../../common/NotesPanel'
import ObjectActions from '../../common/ObjectActions'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectForm from '../../common/ObjectForm'
import ObjectInfo from '../../common/ObjectInfo'
import ObjectTable from '../../common/ObjectTable'
@@ -63,6 +64,19 @@ const PrinterProfileInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, printerProfileId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef.current?.startEditing?.()
@@ -150,12 +164,6 @@ const PrinterProfileInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Production/Printers/ControlPrinter.jsx b/src/components/Dashboard/Production/Printers/ControlPrinter.jsx
index 224d6ff8..c8bdc663 100644
--- a/src/components/Dashboard/Production/Printers/ControlPrinter.jsx
+++ b/src/components/Dashboard/Production/Printers/ControlPrinter.jsx
@@ -1,4 +1,4 @@
-import { useState, useRef, useEffect, useContext } from 'react'
+import { useState, useRef, useEffect, useContext, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Space, Flex, Card, Splitter, Divider } from 'antd'
import loglevel from 'loglevel'
@@ -12,6 +12,7 @@ import ObjectForm from '../../common/ObjectForm.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import PropTypes from 'prop-types'
import ObjectInfo from '../../common/ObjectInfo.jsx'
@@ -105,6 +106,20 @@ const ControlPrinter = ({ slicerIntegration = false }) => {
return () => setOnModalOk(null)
}, [setOnModalOk])
+ const currentObjectTools = useMemo(
+ () =>
+ !slicerIntegration ? (
+
+ ) : null,
+ [objectFormState.loading, printerId, slicerIntegration]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
@@ -320,14 +335,6 @@ const ControlPrinter = ({ slicerIntegration = false }) => {
}
loading={objectFormState.loading}
/>
- {!slicerIntegration && (
-
- )}
diff --git a/src/components/Dashboard/Production/Printers/PrinterInfo.jsx b/src/components/Dashboard/Production/Printers/PrinterInfo.jsx
index 515f5a55..9af2e305 100644
--- a/src/components/Dashboard/Production/Printers/PrinterInfo.jsx
+++ b/src/components/Dashboard/Production/Printers/PrinterInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -17,6 +17,7 @@ import EditButtons from '../../common/EditButtons.jsx'
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -63,6 +64,19 @@ const PrinterInfo = () => {
return () => setOnModalOk(null)
}, [setOnModalOk])
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, printerId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
@@ -145,12 +159,6 @@ const PrinterInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Production/SubJobs/SubJobInfo.jsx b/src/components/Dashboard/Production/SubJobs/SubJobInfo.jsx
index a8532c6e..b3526ff5 100644
--- a/src/components/Dashboard/Production/SubJobs/SubJobInfo.jsx
+++ b/src/components/Dashboard/Production/SubJobs/SubJobInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -16,6 +16,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -43,6 +44,19 @@ const SubJobInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, subJobId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
@@ -118,12 +132,6 @@ const SubJobInfo = () => {
disabled={true}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Sales/Clients/ClientInfo.jsx b/src/components/Dashboard/Sales/Clients/ClientInfo.jsx
index 98688ad4..b9d04dab 100644
--- a/src/components/Dashboard/Sales/Clients/ClientInfo.jsx
+++ b/src/components/Dashboard/Sales/Clients/ClientInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState } from 'react'
+import { useRef, useState, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@@ -47,6 +48,19 @@ const ClientInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, clientId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -130,12 +144,6 @@ const ClientInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Sales/ListingVarients/ListingVarientInfo.jsx b/src/components/Dashboard/Sales/ListingVarients/ListingVarientInfo.jsx
index 1d004ced..84fad8c2 100644
--- a/src/components/Dashboard/Sales/ListingVarients/ListingVarientInfo.jsx
+++ b/src/components/Dashboard/Sales/ListingVarients/ListingVarientInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -61,6 +62,19 @@ const ListingVarientInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, listingVarientId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -143,12 +157,6 @@ const ListingVarientInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Sales/Listings/ListingInfo.jsx b/src/components/Dashboard/Sales/Listings/ListingInfo.jsx
index 018faf34..414470e9 100644
--- a/src/components/Dashboard/Sales/Listings/ListingInfo.jsx
+++ b/src/components/Dashboard/Sales/Listings/ListingInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -59,6 +60,19 @@ const ListingInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, listingId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -142,12 +156,6 @@ const ListingInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Sales/Marketplaces/MarketplaceInfo.jsx b/src/components/Dashboard/Sales/Marketplaces/MarketplaceInfo.jsx
index abdeb792..a71c7c32 100644
--- a/src/components/Dashboard/Sales/Marketplaces/MarketplaceInfo.jsx
+++ b/src/components/Dashboard/Sales/Marketplaces/MarketplaceInfo.jsx
@@ -1,4 +1,4 @@
-import { useContext, useRef, useState, useEffect } from 'react'
+import { useContext, useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, message, Space } from 'antd'
import loglevel from 'loglevel'
@@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -116,6 +117,19 @@ const MarketplaceInfo = () => {
objectFormRef?.current?.handleFetchObject?.()
}
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, marketplaceId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@@ -210,12 +224,6 @@ const MarketplaceInfo = () => {
}
loading={objectFormState.editLoading}
/>
-
diff --git a/src/components/Dashboard/Sales/SalesOrders/SalesOrderInfo.jsx b/src/components/Dashboard/Sales/SalesOrders/SalesOrderInfo.jsx
index f4579d5c..6ebec2de 100644
--- a/src/components/Dashboard/Sales/SalesOrders/SalesOrderInfo.jsx
+++ b/src/components/Dashboard/Sales/SalesOrders/SalesOrderInfo.jsx
@@ -1,4 +1,4 @@
-import { useRef, useState, useEffect } from 'react'
+import { useRef, useState, useEffect, useMemo } from 'react'
import { useLocation } from 'react-router-dom'
import { Space, Flex, Card } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
+import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@@ -71,6 +72,19 @@ const SalesOrderInfo = () => {
objectData: {}
})
+ const currentObjectTools = useMemo(
+ () => (
+
+ ),
+ [objectFormState.loading, objectFormState.isEditing, salesOrderId]
+ )
+ useDashboardObjectTools(currentObjectTools)
+
const actions = {
edit: () => {
orderItemsTableRef?.current?.startEditing?.()
@@ -163,12 +177,6 @@ const SalesOrderInfo = () => {
}
loading={objectFormState.editLoading}
/>
-