Refactor Dashboard Components to Utilize Object Tools Context
- Updated multiple dashboard components to integrate the useDashboardObjectTools hook for managing object navigation buttons. - Replaced direct rendering of ObjectTableNavigationButtons with a memoized version to enhance performance and maintainability. - Ensured consistent handling of loading and editing states across various components, improving user experience.
This commit is contained in:
parent
42d6ac6422
commit
be57b3fde7
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -20,6 +20,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -65,6 +66,19 @@ const InvoiceInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={invoiceId}
|
||||||
|
objectType='invoice'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, invoiceId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -153,12 +167,6 @@ const InvoiceInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={invoiceId}
|
|
||||||
objectType='invoice'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -58,6 +59,19 @@ const PaymentInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={paymentId}
|
||||||
|
objectType='payment'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, paymentId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -143,12 +157,6 @@ const PaymentInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={paymentId}
|
|
||||||
objectType='payment'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
@ -217,10 +225,7 @@ const PaymentInfo = () => {
|
|||||||
<ObjectTable
|
<ObjectTable
|
||||||
type='auditLog'
|
type='auditLog'
|
||||||
masterFilter={{
|
masterFilter={{
|
||||||
parent:
|
parent: getModelByName('payment').prefix + ':' + paymentId
|
||||||
getModelByName('payment').prefix +
|
|
||||||
':' +
|
|
||||||
paymentId
|
|
||||||
}}
|
}}
|
||||||
visibleColumns={{ _id: false, parent: false }}
|
visibleColumns={{ _id: false, parent: false }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import loglevel from 'loglevel'
|
import loglevel from 'loglevel'
|
||||||
@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -50,6 +51,19 @@ const TaxRecordInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={taxRecordId}
|
||||||
|
objectType='taxRecord'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, taxRecordId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -133,12 +147,6 @@ const TaxRecordInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={taxRecordId}
|
|
||||||
objectType='taxRecord'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import useCollapseState from '../../hooks/useCollapseState'
|
import useCollapseState from '../../hooks/useCollapseState'
|
||||||
@ -6,6 +6,7 @@ import ObjectForm from '../../common/ObjectForm'
|
|||||||
import ObjectInfo from '../../common/ObjectInfo'
|
import ObjectInfo from '../../common/ObjectInfo'
|
||||||
import ObjectTable from '../../common/ObjectTable'
|
import ObjectTable from '../../common/ObjectTable'
|
||||||
import ObjectActions from '../../common/ObjectActions'
|
import ObjectActions from '../../common/ObjectActions'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ViewButton from '../../common/ViewButton'
|
import ViewButton from '../../common/ViewButton'
|
||||||
import EditButtons from '../../common/EditButtons'
|
import EditButtons from '../../common/EditButtons'
|
||||||
import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButtons.jsx'
|
import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButtons.jsx'
|
||||||
@ -52,6 +53,19 @@ const FilamentStockInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={filamentStockId}
|
||||||
|
objectType='filamentStock'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, filamentStockId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -133,12 +147,6 @@ const FilamentStockInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={filamentStockId}
|
|
||||||
objectType='filamentStock'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
|
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
|
||||||
@ -51,6 +52,19 @@ const OrderItemInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={orderItemId}
|
||||||
|
objectType='orderItem'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, orderItemId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -132,12 +146,6 @@ const OrderItemInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={orderItemId}
|
|
||||||
objectType='orderItem'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -19,6 +19,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -57,6 +58,19 @@ const PartStockInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={partStockId}
|
||||||
|
objectType='partStock'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, partStockId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current.startEditing()
|
objectFormRef?.current.startEditing()
|
||||||
@ -141,12 +155,6 @@ const PartStockInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={partStockId}
|
|
||||||
objectType='partStock'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -23,6 +23,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -71,6 +72,19 @@ const ProductStockInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={productStockId}
|
||||||
|
objectType='productStock'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, productStockId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current.startEditing()
|
objectFormRef?.current.startEditing()
|
||||||
@ -159,12 +173,6 @@ const ProductStockInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={productStockId}
|
|
||||||
objectType='productStock'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -73,6 +74,19 @@ const PurchaseOrderInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={purchaseOrderId}
|
||||||
|
objectType='purchaseOrder'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, purchaseOrderId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
orderItemsTableRef?.current?.startEditing?.()
|
orderItemsTableRef?.current?.startEditing?.()
|
||||||
@ -165,12 +179,6 @@ const PurchaseOrderInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={purchaseOrderId}
|
|
||||||
objectType='purchaseOrder'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Modal, Space } from 'antd'
|
import { Card, Flex, Modal, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -66,6 +67,19 @@ const PurchaseOrderInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={purchaseOrderId}
|
||||||
|
objectType='purchaseOrder'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, purchaseOrderId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
orderItemsTableRef?.current?.startEditing?.()
|
orderItemsTableRef?.current?.startEditing?.()
|
||||||
@ -168,12 +182,6 @@ const PurchaseOrderInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={purchaseOrderId}
|
|
||||||
objectType='purchaseOrder'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -61,6 +62,19 @@ const ShipmentInfo = () => {
|
|||||||
editDisabled: false,
|
editDisabled: false,
|
||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={shipmentId}
|
||||||
|
objectType='shipment'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, shipmentId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -146,12 +160,6 @@ const ShipmentInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={shipmentId}
|
|
||||||
objectType='shipment'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -53,6 +54,19 @@ const StockAuditInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={stockAuditId}
|
||||||
|
objectType='stockAudit'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, stockAuditId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current.startEditing()
|
objectFormRef?.current.startEditing()
|
||||||
@ -135,12 +149,6 @@ const StockAuditInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={stockAuditId}
|
|
||||||
objectType='stockAudit'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -54,6 +55,19 @@ const StockLocationInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={stockLocationId}
|
||||||
|
objectType='stockLocation'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, stockLocationId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current.startEditing()
|
objectFormRef?.current.startEditing()
|
||||||
@ -136,12 +150,6 @@ const StockLocationInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={stockLocationId}
|
|
||||||
objectType='stockLocation'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -19,6 +19,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -61,6 +62,19 @@ const StockTransferInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={stockTransferId}
|
||||||
|
objectType='stockTransfer'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, stockTransferId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current.startEditing()
|
objectFormRef?.current.startEditing()
|
||||||
@ -147,12 +161,6 @@ const StockTransferInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={stockTransferId}
|
|
||||||
objectType='stockTransfer'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Flex, Space } from 'antd'
|
import { Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -14,6 +14,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -54,6 +55,19 @@ const AppPasswordInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={appPasswordId}
|
||||||
|
objectType='appPassword'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, appPasswordId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -131,12 +145,6 @@ const AppPasswordInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={appPasswordId}
|
|
||||||
objectType='appPassword'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import loglevel from 'loglevel'
|
import loglevel from 'loglevel'
|
||||||
@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -52,6 +53,19 @@ const CourierServiceInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={courierServiceId}
|
||||||
|
objectType='courierService'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, courierServiceId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -135,12 +149,6 @@ const CourierServiceInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={courierServiceId}
|
|
||||||
objectType='courierService'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import loglevel from 'loglevel'
|
import loglevel from 'loglevel'
|
||||||
@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -48,6 +49,19 @@ const CourierInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={courierId}
|
||||||
|
objectType='courier'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, courierId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -131,12 +145,6 @@ const CourierInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={courierId}
|
|
||||||
objectType='courier'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -53,6 +54,19 @@ const DocumentJobInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={documentJobId}
|
||||||
|
objectType='documentJob'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, documentJobId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -132,12 +146,6 @@ const DocumentJobInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={documentJobId}
|
|
||||||
objectType='documentJob'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -55,6 +56,19 @@ const DocumentPrinterInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={documentPrinterId}
|
||||||
|
objectType='documentPrinter'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, documentPrinterId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current.startEditing()
|
objectFormRef?.current.startEditing()
|
||||||
@ -140,12 +154,6 @@ const DocumentPrinterInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={documentPrinterId}
|
|
||||||
objectType='documentPrinter'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -53,6 +54,19 @@ const DocumentSizeInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={documentSizeId}
|
||||||
|
objectType='documentSize'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, documentSizeId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -132,12 +146,6 @@ const DocumentSizeInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={documentSizeId}
|
|
||||||
objectType='documentSize'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useState, useRef } from 'react'
|
import { useState, useRef, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Space, Flex, Card } from 'antd'
|
import { Space, Flex, Card } from 'antd'
|
||||||
import loglevel from 'loglevel'
|
import loglevel from 'loglevel'
|
||||||
@ -10,9 +10,11 @@ import ViewButton from '../../common/ViewButton.jsx'
|
|||||||
import NoteIcon from '../../../Icons/NoteIcon.jsx'
|
import NoteIcon from '../../../Icons/NoteIcon.jsx'
|
||||||
import ObjectForm from '../../common/ObjectForm.jsx'
|
import ObjectForm from '../../common/ObjectForm.jsx'
|
||||||
import EditButtons from '../../common/EditButtons.jsx'
|
import EditButtons from '../../common/EditButtons.jsx'
|
||||||
|
import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButtons.jsx'
|
||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ScrollBox from '../../common/ScrollBox.jsx'
|
import ScrollBox from '../../common/ScrollBox.jsx'
|
||||||
|
|
||||||
import TemplateEditor from '../../common/TemplateEditor.jsx'
|
import TemplateEditor from '../../common/TemplateEditor.jsx'
|
||||||
@ -46,6 +48,19 @@ const DocumentTemplateDesign = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={documentTemplateId}
|
||||||
|
objectType='documentTemplate'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, documentTemplateId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current.startEditing()
|
objectFormRef?.current.startEditing()
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -55,6 +56,19 @@ const DocumentTemplateInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={documentTemplateId}
|
||||||
|
objectType='documentTemplate'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, documentTemplateId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current.startEditing()
|
objectFormRef?.current.startEditing()
|
||||||
@ -137,12 +151,6 @@ const DocumentTemplateInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={documentTemplateId}
|
|
||||||
objectType='documentTemplate'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import useCollapseState from '../../hooks/useCollapseState'
|
import useCollapseState from '../../hooks/useCollapseState'
|
||||||
@ -15,6 +15,7 @@ import NoteIcon from '../../../Icons/NoteIcon.jsx'
|
|||||||
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
|
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -47,6 +48,19 @@ const FilamentSkuInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={filamentSkuId}
|
||||||
|
objectType='filamentSku'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, filamentSkuId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -130,12 +144,6 @@ const FilamentSkuInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={filamentSkuId}
|
|
||||||
objectType='filamentSku'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler'
|
import ActionHandler from '../../common/ActionHandler'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -66,6 +67,19 @@ const FilamentInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={filamentId}
|
||||||
|
objectType='filament'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, filamentId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -153,12 +167,6 @@ const FilamentInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={filamentId}
|
|
||||||
objectType='filament'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useContext, useRef, useState } from 'react'
|
import { useContext, useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import loglevel from 'loglevel'
|
import loglevel from 'loglevel'
|
||||||
@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -56,6 +57,19 @@ const FileInfo = () => {
|
|||||||
})
|
})
|
||||||
const { fetchFileContent } = useContext(ApiServerContext)
|
const { fetchFileContent } = useContext(ApiServerContext)
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={fileId}
|
||||||
|
objectType='file'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, fileId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -145,12 +159,6 @@ const FileInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={fileId}
|
|
||||||
objectType='file'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -61,6 +62,19 @@ const HostInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={hostId}
|
||||||
|
objectType='host'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, hostId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current.startEditing()
|
objectFormRef?.current.startEditing()
|
||||||
@ -148,12 +162,6 @@ const HostInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={hostId}
|
|
||||||
objectType='host'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import loglevel from 'loglevel'
|
import loglevel from 'loglevel'
|
||||||
@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -50,6 +51,19 @@ const MaterialInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={materialId}
|
||||||
|
objectType='material'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, materialId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -133,12 +147,6 @@ const MaterialInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={materialId}
|
|
||||||
objectType='material'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Flex, Space } from 'antd'
|
import { Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -14,6 +14,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -43,6 +44,19 @@ const NoteTypeInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={noteTypeId}
|
||||||
|
objectType='noteType'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, noteTypeId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -121,12 +135,6 @@ const NoteTypeInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={noteTypeId}
|
|
||||||
objectType='noteType'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -20,6 +20,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -51,6 +52,19 @@ const NoteInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={noteId}
|
||||||
|
objectType='note'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, noteId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -135,12 +149,6 @@ const NoteInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={noteId}
|
|
||||||
objectType='note'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import useCollapseState from '../../hooks/useCollapseState'
|
import useCollapseState from '../../hooks/useCollapseState'
|
||||||
@ -15,6 +15,7 @@ import NoteIcon from '../../../Icons/NoteIcon.jsx'
|
|||||||
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
|
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -42,6 +43,19 @@ const PartSkuInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={partSkuId}
|
||||||
|
objectType='partSku'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, partSkuId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -125,12 +139,6 @@ const PartSkuInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={partSkuId}
|
|
||||||
objectType='partSku'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import useCollapseState from '../../hooks/useCollapseState'
|
import useCollapseState from '../../hooks/useCollapseState'
|
||||||
@ -15,6 +15,7 @@ import NoteIcon from '../../../Icons/NoteIcon.jsx'
|
|||||||
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
|
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -54,6 +55,19 @@ const PartInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={partId}
|
||||||
|
objectType='part'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, partId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -133,12 +147,6 @@ const PartInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={partId}
|
|
||||||
objectType='part'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space, Spin } from 'antd'
|
import { Card, Flex, Space, Spin } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -16,6 +16,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -54,6 +55,19 @@ const PermissionSettingInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={permissionSettingId}
|
||||||
|
objectType='permissionSetting'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, permissionSettingId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -137,12 +151,6 @@ const PermissionSettingInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={permissionSettingId}
|
|
||||||
objectType='permissionSetting'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import useCollapseState from '../../hooks/useCollapseState'
|
import useCollapseState from '../../hooks/useCollapseState'
|
||||||
@ -15,6 +15,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -47,6 +48,19 @@ const ProductCategoryInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={productCategoryId}
|
||||||
|
objectType='productCategory'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, productCategoryId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -130,12 +144,6 @@ const ProductCategoryInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={productCategoryId}
|
|
||||||
objectType='productCategory'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import useCollapseState from '../../hooks/useCollapseState'
|
import useCollapseState from '../../hooks/useCollapseState'
|
||||||
@ -15,6 +15,7 @@ import NoteIcon from '../../../Icons/NoteIcon.jsx'
|
|||||||
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
|
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -48,6 +49,19 @@ const ProductSkuInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={productSkuId}
|
||||||
|
objectType='productSku'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, productSkuId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -132,12 +146,6 @@ const ProductSkuInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={productSkuId}
|
|
||||||
objectType='productSku'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import useCollapseState from '../../hooks/useCollapseState'
|
import useCollapseState from '../../hooks/useCollapseState'
|
||||||
@ -16,6 +16,7 @@ import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
|
|||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -54,6 +55,19 @@ const ProductInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={productId}
|
||||||
|
objectType='product'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, productId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -133,12 +147,6 @@ const ProductInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={productId}
|
|
||||||
objectType='product'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import loglevel from 'loglevel'
|
import loglevel from 'loglevel'
|
||||||
@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -47,6 +48,19 @@ const TaxRateInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={taxRateId}
|
||||||
|
objectType='taxRate'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, taxRateId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -130,12 +144,6 @@ const TaxRateInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={taxRateId}
|
|
||||||
objectType='taxRate'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space, Spin } from 'antd'
|
import { Card, Flex, Space, Spin } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -16,6 +16,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -54,6 +55,19 @@ const UserGroupInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={userGroupId}
|
||||||
|
objectType='userGroup'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, userGroupId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -137,12 +151,6 @@ const UserGroupInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={userGroupId}
|
|
||||||
objectType='userGroup'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space, Spin } from 'antd'
|
import { Card, Flex, Space, Spin } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler'
|
import ActionHandler from '../../common/ActionHandler'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -53,6 +54,19 @@ const UserInfo = () => {
|
|||||||
})
|
})
|
||||||
const isMobile = useMediaQuery({ maxWidth: 768 })
|
const isMobile = useMediaQuery({ maxWidth: 768 })
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={userId}
|
||||||
|
objectType='user'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, userId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -132,12 +146,6 @@ const UserInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={userId}
|
|
||||||
objectType='user'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import loglevel from 'loglevel'
|
import loglevel from 'loglevel'
|
||||||
@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -47,6 +48,19 @@ const VendorInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={vendorId}
|
||||||
|
objectType='vendor'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, vendorId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -130,12 +144,6 @@ const VendorInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={vendorId}
|
|
||||||
objectType='vendor'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import MultiMotionIcon from '../../../Icons/MultiMotionIcon'
|
|||||||
import NoteIcon from '../../../Icons/NoteIcon'
|
import NoteIcon from '../../../Icons/NoteIcon'
|
||||||
import NotesPanel from '../../common/NotesPanel'
|
import NotesPanel from '../../common/NotesPanel'
|
||||||
import ObjectActions from '../../common/ObjectActions'
|
import ObjectActions from '../../common/ObjectActions'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectForm from '../../common/ObjectForm'
|
import ObjectForm from '../../common/ObjectForm'
|
||||||
import ObjectInfo from '../../common/ObjectInfo'
|
import ObjectInfo from '../../common/ObjectInfo'
|
||||||
import ObjectTable from '../../common/ObjectTable'
|
import ObjectTable from '../../common/ObjectTable'
|
||||||
@ -85,6 +86,19 @@ const FilamentProfileInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading}
|
||||||
|
_id={filamentProfileId}
|
||||||
|
objectType='filamentProfile'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, filamentProfileId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef.current?.startEditing?.()
|
objectFormRef.current?.startEditing?.()
|
||||||
@ -178,12 +192,6 @@ const FilamentProfileInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading}
|
|
||||||
_id={filamentProfileId}
|
|
||||||
objectType='filamentProfile'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -19,6 +19,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -55,6 +56,19 @@ const GCodeFileInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={gcodeFileId}
|
||||||
|
objectType='gcodeFile'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, gcodeFileId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current.startEditing()
|
objectFormRef?.current.startEditing()
|
||||||
@ -138,12 +152,6 @@ const GCodeFileInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={gcodeFileId}
|
|
||||||
objectType='gcodeFile'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Space, Flex, Card } from 'antd'
|
import { Space, Flex, Card } from 'antd'
|
||||||
import loglevel from 'loglevel'
|
import loglevel from 'loglevel'
|
||||||
@ -12,6 +12,8 @@ import EyeIcon from '../../../Icons/EyeIcon.jsx'
|
|||||||
import ObjectForm from '../../common/ObjectForm.jsx'
|
import ObjectForm from '../../common/ObjectForm.jsx'
|
||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.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 ScrollBox from '../../common/ScrollBox.jsx'
|
||||||
import FilePreview from '../../common/FilePreview.jsx'
|
import FilePreview from '../../common/FilePreview.jsx'
|
||||||
import MissingPlaceholder from '../../common/MissingPlaceholder.jsx'
|
import MissingPlaceholder from '../../common/MissingPlaceholder.jsx'
|
||||||
@ -40,6 +42,19 @@ const GCodeFilePreview = () => {
|
|||||||
lock: null
|
lock: null
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading}
|
||||||
|
_id={gcodeFileId}
|
||||||
|
objectType='gcodeFile'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, gcodeFileId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Flex
|
<Flex
|
||||||
gap='large'
|
gap='large'
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -62,6 +63,19 @@ const JobInfo = () => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={jobId}
|
||||||
|
objectType='job'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, jobId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current.startEditing()
|
objectFormRef?.current.startEditing()
|
||||||
@ -144,12 +158,6 @@ const JobInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={jobId}
|
|
||||||
objectType='job'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ActivityIndicator from '../../common/ActivityIndicator'
|
|||||||
import NoteIcon from '../../../Icons/NoteIcon'
|
import NoteIcon from '../../../Icons/NoteIcon'
|
||||||
import NotesPanel from '../../common/NotesPanel'
|
import NotesPanel from '../../common/NotesPanel'
|
||||||
import ObjectActions from '../../common/ObjectActions'
|
import ObjectActions from '../../common/ObjectActions'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectForm from '../../common/ObjectForm'
|
import ObjectForm from '../../common/ObjectForm'
|
||||||
import ObjectInfo from '../../common/ObjectInfo'
|
import ObjectInfo from '../../common/ObjectInfo'
|
||||||
import ObjectTable from '../../common/ObjectTable'
|
import ObjectTable from '../../common/ObjectTable'
|
||||||
@ -63,6 +64,19 @@ const PrinterProfileInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading}
|
||||||
|
_id={printerProfileId}
|
||||||
|
objectType='printerProfile'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, printerProfileId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef.current?.startEditing?.()
|
objectFormRef.current?.startEditing?.()
|
||||||
@ -150,12 +164,6 @@ const PrinterProfileInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading}
|
|
||||||
_id={printerProfileId}
|
|
||||||
objectType='printerProfile'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -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 { useLocation } from 'react-router-dom'
|
||||||
import { Space, Flex, Card, Splitter, Divider } from 'antd'
|
import { Space, Flex, Card, Splitter, Divider } from 'antd'
|
||||||
import loglevel from 'loglevel'
|
import loglevel from 'loglevel'
|
||||||
@ -12,6 +12,7 @@ import ObjectForm from '../../common/ObjectForm.jsx'
|
|||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import PropTypes from 'prop-types'
|
import PropTypes from 'prop-types'
|
||||||
|
|
||||||
import ObjectInfo from '../../common/ObjectInfo.jsx'
|
import ObjectInfo from '../../common/ObjectInfo.jsx'
|
||||||
@ -105,6 +106,20 @@ const ControlPrinter = ({ slicerIntegration = false }) => {
|
|||||||
return () => setOnModalOk(null)
|
return () => setOnModalOk(null)
|
||||||
}, [setOnModalOk])
|
}, [setOnModalOk])
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() =>
|
||||||
|
!slicerIntegration ? (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading}
|
||||||
|
_id={printerId}
|
||||||
|
objectType='printer'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
) : null,
|
||||||
|
[objectFormState.loading, printerId, slicerIntegration]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current.startEditing()
|
objectFormRef?.current.startEditing()
|
||||||
@ -320,14 +335,6 @@ const ControlPrinter = ({ slicerIntegration = false }) => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.loading}
|
loading={objectFormState.loading}
|
||||||
/>
|
/>
|
||||||
{!slicerIntegration && (
|
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
showEndingDivider={true}
|
|
||||||
disabled={objectFormState.loading}
|
|
||||||
_id={printerId}
|
|
||||||
objectType='printer'
|
|
||||||
/>
|
|
||||||
)}
|
|
||||||
</Flex>
|
</Flex>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -17,6 +17,7 @@ import EditButtons from '../../common/EditButtons.jsx'
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -63,6 +64,19 @@ const PrinterInfo = () => {
|
|||||||
return () => setOnModalOk(null)
|
return () => setOnModalOk(null)
|
||||||
}, [setOnModalOk])
|
}, [setOnModalOk])
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={printerId}
|
||||||
|
objectType='printer'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, printerId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current.startEditing()
|
objectFormRef?.current.startEditing()
|
||||||
@ -145,12 +159,6 @@ const PrinterInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={printerId}
|
|
||||||
objectType='printer'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -16,6 +16,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler'
|
import ActionHandler from '../../common/ActionHandler'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -43,6 +44,19 @@ const SubJobInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={subJobId}
|
||||||
|
objectType='subJob'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, subJobId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current.startEditing()
|
objectFormRef?.current.startEditing()
|
||||||
@ -118,12 +132,6 @@ const SubJobInfo = () => {
|
|||||||
disabled={true}
|
disabled={true}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={subJobId}
|
|
||||||
objectType='subJob'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState } from 'react'
|
import { useRef, useState, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import loglevel from 'loglevel'
|
import loglevel from 'loglevel'
|
||||||
@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
|
||||||
@ -47,6 +48,19 @@ const ClientInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={clientId}
|
||||||
|
objectType='client'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, clientId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -130,12 +144,6 @@ const ClientInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={clientId}
|
|
||||||
objectType='client'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import loglevel from 'loglevel'
|
import loglevel from 'loglevel'
|
||||||
@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -61,6 +62,19 @@ const ListingVarientInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={listingVarientId}
|
||||||
|
objectType='listingVarient'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, listingVarientId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -143,12 +157,6 @@ const ListingVarientInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={listingVarientId}
|
|
||||||
objectType='listingVarient'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, Space } from 'antd'
|
import { Card, Flex, Space } from 'antd'
|
||||||
import loglevel from 'loglevel'
|
import loglevel from 'loglevel'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -59,6 +60,19 @@ const ListingInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={listingId}
|
||||||
|
objectType='listing'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, listingId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -142,12 +156,6 @@ const ListingInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={listingId}
|
|
||||||
objectType='listing'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -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 { useLocation } from 'react-router-dom'
|
||||||
import { Card, Flex, message, Space } from 'antd'
|
import { Card, Flex, message, Space } from 'antd'
|
||||||
import loglevel from 'loglevel'
|
import loglevel from 'loglevel'
|
||||||
@ -17,6 +17,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -116,6 +117,19 @@ const MarketplaceInfo = () => {
|
|||||||
objectFormRef?.current?.handleFetchObject?.()
|
objectFormRef?.current?.handleFetchObject?.()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={marketplaceId}
|
||||||
|
objectType='marketplace'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, marketplaceId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
objectFormRef?.current?.startEditing?.()
|
objectFormRef?.current?.startEditing?.()
|
||||||
@ -210,12 +224,6 @@ const MarketplaceInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={marketplaceId}
|
|
||||||
objectType='marketplace'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
<ScrollBox>
|
<ScrollBox>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
import { useRef, useState, useEffect } from 'react'
|
import { useRef, useState, useEffect, useMemo } from 'react'
|
||||||
import { useLocation } from 'react-router-dom'
|
import { useLocation } from 'react-router-dom'
|
||||||
import { Space, Flex, Card } from 'antd'
|
import { Space, Flex, Card } from 'antd'
|
||||||
import { LoadingOutlined } from '@ant-design/icons'
|
import { LoadingOutlined } from '@ant-design/icons'
|
||||||
@ -18,6 +18,7 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
|
|||||||
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
|
||||||
import ActionHandler from '../../common/ActionHandler.jsx'
|
import ActionHandler from '../../common/ActionHandler.jsx'
|
||||||
import { useActions } from '../../context/ActionsContext'
|
import { useActions } from '../../context/ActionsContext'
|
||||||
|
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
|
||||||
import ObjectActions from '../../common/ObjectActions.jsx'
|
import ObjectActions from '../../common/ObjectActions.jsx'
|
||||||
import ObjectTable from '../../common/ObjectTable.jsx'
|
import ObjectTable from '../../common/ObjectTable.jsx'
|
||||||
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
|
||||||
@ -71,6 +72,19 @@ const SalesOrderInfo = () => {
|
|||||||
objectData: {}
|
objectData: {}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const currentObjectTools = useMemo(
|
||||||
|
() => (
|
||||||
|
<ObjectTableNavigationButtons
|
||||||
|
disabled={objectFormState.loading || objectFormState.isEditing}
|
||||||
|
_id={salesOrderId}
|
||||||
|
objectType='salesOrder'
|
||||||
|
showEndingDivider={false}
|
||||||
|
/>
|
||||||
|
),
|
||||||
|
[objectFormState.loading, objectFormState.isEditing, salesOrderId]
|
||||||
|
)
|
||||||
|
useDashboardObjectTools(currentObjectTools)
|
||||||
|
|
||||||
const actions = {
|
const actions = {
|
||||||
edit: () => {
|
edit: () => {
|
||||||
orderItemsTableRef?.current?.startEditing?.()
|
orderItemsTableRef?.current?.startEditing?.()
|
||||||
@ -163,12 +177,6 @@ const SalesOrderInfo = () => {
|
|||||||
}
|
}
|
||||||
loading={objectFormState.editLoading}
|
loading={objectFormState.editLoading}
|
||||||
/>
|
/>
|
||||||
<ObjectTableNavigationButtons
|
|
||||||
disabled={objectFormState.loading || objectFormState.isEditing}
|
|
||||||
_id={salesOrderId}
|
|
||||||
objectType='salesOrder'
|
|
||||||
showEndingDivider={true}
|
|
||||||
/>
|
|
||||||
</Space>
|
</Space>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user