Compare commits

..

No commits in common. "f97bdc364d4b0e5956d976519da8ce3bdd3d25de" and "e1fbd6070ab567f766b63181b569d72cb8037760" have entirely different histories.

61 changed files with 416 additions and 955 deletions

View File

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 64 64" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(-1.001515,0,0,1.001515,62.999788,3.331628)">
<path d="M32.953,57.25C34.312,57.25 35.438,56.766 36.406,55.828L60.047,32.719C61.312,31.438 61.906,30.172 61.906,28.625C61.891,27.047 61.297,25.766 60.047,24.531L36.406,1.422C35.438,0.469 34.328,0 32.953,0C30.172,0 27.906,2.234 27.906,4.984C27.906,6.328 28.484,7.609 29.531,8.641L51.438,29.859L51.438,27.312L29.531,48.609C28.5,49.625 27.906,50.906 27.906,52.281C27.906,55.016 30.172,57.25 32.953,57.25Z" style="fill-rule:nonzero;"/>
<path d="M5.016,57.25C6.375,57.25 7.5,56.766 8.484,55.828L32.125,32.719C33.406,31.438 33.984,30.172 33.984,28.625C33.953,27.047 33.391,25.766 32.125,24.531L8.469,1.422C7.531,0.469 6.391,0 5.016,0C2.234,0 0,2.234 0,4.984C0,6.328 0.562,7.609 1.594,8.641L23.516,29.859L23.516,27.312L1.594,48.609C0.578,49.625 0,50.906 0,52.281C0,55.016 2.234,57.25 5.016,57.25Z" style="fill-rule:nonzero;"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -75,6 +75,15 @@
vertical-align: top !important;
}
.object-display-tag .ant-typography-ellipsis-single-line > code {
background-color: transparent !important;
border: 1px solid transparent !important;
max-width: calc(100%);
padding: 0;
margin: 0;
font-size: 95%;
}
.ant-select-selection-item .country-display {
margin-left: 1px !important;
}
@ -225,8 +234,7 @@ html.macos-vibrancy .dark-mode .ant-layout.main-content-layout .ant-card {
line-height: 40px;
}
.electron-sidebar.ant-menu-inline .ant-menu-item,
.electron-sidebar.ant-menu-inline.ant-menu-root .ant-menu-submenu-title {
.electron-sidebar.ant-menu-inline .ant-menu-item {
padding-left: 20px !important;
}
@ -349,10 +357,6 @@ code {
padding: 0 !important;
}
.ant-popover:has(.spotlight-tooltip) {
z-index: 1051;
}
:root,
.light-mode,
html:has(.light-mode) {
@ -361,7 +365,7 @@ html:has(.light-mode) {
--kbd-inset: #e8e8e8;
--kbd-edge: #c3c3c3;
--kbd-ridge: #c9c9c9;
--kbd-drop-shadow: rgb(51 51 51 / 40%);
--kbd-drop-shadow: #333333;
--kbd-text-shadow: #f6f6f6;
}
@ -372,7 +376,7 @@ html:has(.dark-mode) {
--kbd-inset: #323232;
--kbd-edge: #1c1c1c;
--kbd-ridge: #141414;
--kbd-drop-shadow: rgb(0 0 0 / 45%);
--kbd-drop-shadow: #000000;
--kbd-text-shadow: #111111;
}
@ -385,12 +389,11 @@ html:has(.dark-mode) {
padding: 3px 7px;
margin: 5px 3px;
border-radius: 4px;
border: 1px solid color-mix(in srgb, var(--color-text) 10%, transparent);
box-shadow:
inset 0 0 25px var(--kbd-inset),
0 1px 0 var(--kbd-edge),
0 3px 0 var(--kbd-ridge),
0 4px 8px var(--kbd-drop-shadow);
0 2px 0 var(--kbd-ridge),
0 2px 3px var(--kbd-drop-shadow);
text-shadow: 0 1px 0 var(--kbd-text-shadow);
}
@ -398,12 +401,12 @@ html:has(.dark-mode) {
padding: 4.5px 10.5px;
margin: 7.5px 3.5px;
font-size: 110%;
border-radius: 10px;
border-radius: 6px;
box-shadow:
inset 0 0 37.5px var(--kbd-inset),
0 1.5px 0 var(--kbd-edge),
0 4.5px 0 var(--kbd-ridge),
0 6px 12px var(--kbd-drop-shadow);
0 3px 0 var(--kbd-ridge),
0 3px 4.5px var(--kbd-drop-shadow);
text-shadow: 0 1.5px 0 var(--kbd-text-shadow);
}
@ -415,8 +418,8 @@ html:has(.dark-mode) {
box-shadow:
inset 0 0 50px var(--kbd-inset),
0 2px 0 var(--kbd-edge),
0 6px 0 var(--kbd-ridge),
0 8px 16px var(--kbd-drop-shadow);
0 4px 0 var(--kbd-ridge),
0 4px 6px var(--kbd-drop-shadow);
text-shadow: 0 2px 0 var(--kbd-text-shadow);
}
@ -428,8 +431,8 @@ html:has(.dark-mode) {
box-shadow:
inset 0 0 75px var(--kbd-inset),
0 3px 0 var(--kbd-edge),
0 9px 0 var(--kbd-ridge),
0 12px 24px var(--kbd-drop-shadow);
0 6px 0 var(--kbd-ridge),
0 6px 9px var(--kbd-drop-shadow);
text-shadow: 0 3px 0 var(--kbd-text-shadow);
}
@ -1322,8 +1325,6 @@ span.ant-skeleton-input.ant-skeleton-input-sm.text-skeleton {
.elipsis-text-wrapper.ant-typography code.elipsis-text-truncated {
margin: 0;
box-sizing: border-box;
padding-inline: 0.5em;
padding-block: 0.1em 0.1em;
}
.elipsis-text-measure {
@ -1665,18 +1666,3 @@ span.ant-skeleton-input.ant-skeleton-input-sm.text-skeleton {
min-width: var(--dashboard-splitter-sidebar-size) !important;
max-width: var(--dashboard-splitter-sidebar-size) !important;
}
.object-display-tag
.elipsis-text-wrapper.ant-typography
code.elipsis-text-measure,
.object-display-tag .elipsis-text-wrapper.ant-typography code.elipsis-text-full,
.object-display-tag
.elipsis-text-wrapper.ant-typography
code.elipsis-text-truncated {
background-color: transparent !important;
border: 1px solid transparent !important;
max-width: calc(100%);
padding: 0;
margin: 0;
font-size: 95%;
}

View File

@ -19,7 +19,6 @@ import {
} from './components/Dashboard/context/SpotlightContext.jsx'
import { ActionsModalProvider } from './components/Dashboard/context/ActionsModalContext.jsx'
import { ActionsProvider } from './components/Dashboard/context/ActionsContext.jsx'
import { DashboardObjectToolsProvider } from './components/Dashboard/context/DashboardObjectToolsContext.jsx'
import MissingPlaceholder from './components/Dashboard/common/MissingPlaceholder.jsx'
import {
@ -94,7 +93,6 @@ const AppContent = () => {
<SpotlightProvider>
<ActionsModalProvider>
<ActionsProvider>
<DashboardObjectToolsProvider>
<Routes>
<Route
path='/applaunch'
@ -166,7 +164,6 @@ const AppContent = () => {
}
/>
</Routes>
</DashboardObjectToolsProvider>
</ActionsProvider>
</ActionsModalProvider>
</SpotlightProvider>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -20,7 +20,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -66,19 +65,6 @@ const InvoiceInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -167,6 +153,12 @@ const InvoiceInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={invoiceId}
objectType='invoice'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -59,19 +58,6 @@ const PaymentInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -157,6 +143,12 @@ const PaymentInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={paymentId}
objectType='payment'
showEndingDivider={true}
/>
</Space>
</Flex>
@ -225,7 +217,10 @@ const PaymentInfo = () => {
<ObjectTable
type='auditLog'
masterFilter={{
parent: getModelByName('payment').prefix + ':' + paymentId
parent:
getModelByName('payment').prefix +
':' +
paymentId
}}
visibleColumns={{ _id: false, parent: false }}
/>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@ -17,7 +17,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -51,19 +50,6 @@ const TaxRecordInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -147,6 +133,12 @@ const TaxRecordInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={taxRecordId}
objectType='taxRecord'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import useCollapseState from '../../hooks/useCollapseState'
@ -6,7 +6,6 @@ import ObjectForm from '../../common/ObjectForm'
import ObjectInfo from '../../common/ObjectInfo'
import ObjectTable from '../../common/ObjectTable'
import ObjectActions from '../../common/ObjectActions'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ViewButton from '../../common/ViewButton'
import EditButtons from '../../common/EditButtons'
import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButtons.jsx'
@ -53,19 +52,6 @@ const FilamentStockInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -147,6 +133,12 @@ const FilamentStockInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={filamentStockId}
objectType='filamentStock'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
@ -52,19 +51,6 @@ const OrderItemInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -146,6 +132,12 @@ const OrderItemInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={orderItemId}
objectType='orderItem'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -19,7 +19,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -58,19 +57,6 @@ const PartStockInfo = () => {
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 = {
edit: () => {
objectFormRef?.current.startEditing()
@ -155,6 +141,12 @@ const PartStockInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={partStockId}
objectType='partStock'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -23,7 +23,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -72,19 +71,6 @@ const ProductStockInfo = () => {
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 = {
edit: () => {
objectFormRef?.current.startEditing()
@ -173,6 +159,12 @@ const ProductStockInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={productStockId}
objectType='productStock'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -74,19 +73,6 @@ const PurchaseOrderInfo = () => {
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 = {
edit: () => {
orderItemsTableRef?.current?.startEditing?.()
@ -179,6 +165,12 @@ const PurchaseOrderInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={purchaseOrderId}
objectType='purchaseOrder'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Modal, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -67,19 +66,6 @@ const PurchaseOrderInfo = () => {
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 = {
edit: () => {
orderItemsTableRef?.current?.startEditing?.()
@ -182,6 +168,12 @@ const PurchaseOrderInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={purchaseOrderId}
objectType='purchaseOrder'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -62,19 +61,6 @@ const ShipmentInfo = () => {
editDisabled: false,
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -160,6 +146,12 @@ const ShipmentInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={shipmentId}
objectType='shipment'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -54,19 +53,6 @@ const StockAuditInfo = () => {
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 = {
edit: () => {
objectFormRef?.current.startEditing()
@ -149,6 +135,12 @@ const StockAuditInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={stockAuditId}
objectType='stockAudit'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -55,19 +54,6 @@ const StockLocationInfo = () => {
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 = {
edit: () => {
objectFormRef?.current.startEditing()
@ -150,6 +136,12 @@ const StockLocationInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={stockLocationId}
objectType='stockLocation'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -19,7 +19,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -62,19 +61,6 @@ const StockTransferInfo = () => {
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 = {
edit: () => {
objectFormRef?.current.startEditing()
@ -161,6 +147,12 @@ const StockTransferInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={stockTransferId}
objectType='stockTransfer'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -13,7 +13,6 @@ import DeveloperSidebar from './Developer/DeveloperSidebar'
import DashboardSidebarSplitter from './common/DashboardSidebarSplitter'
import { useThemeContext } from './context/ThemeContext'
import { MessageProvider } from './context/MessageContext'
import { useDashboardObjectToolsContext } from './context/DashboardObjectToolsContext'
const { Content } = Layout
@ -27,7 +26,6 @@ const DashboardLayout = ({ children }) => {
const isDeveloper = location.pathname.startsWith('/dashboard/developer')
const { isDarkMode } = useThemeContext()
const { currentObjectTools } = useDashboardObjectToolsContext()
const sidebar = isProduction ? (
<ProductionSidebar />
@ -59,9 +57,8 @@ const DashboardLayout = ({ children }) => {
>
<Content>
<Flex vertical style={{ height: '100%' }} gap='20px'>
<Flex justify='space-between' align='center'>
<Flex justify='space-between'>
<DashboardBreadcrumb style={{ margin: '16px 0' }} />
{currentObjectTools}
</Flex>
{children}
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -14,7 +14,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -55,19 +54,6 @@ const AppPasswordInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -145,6 +131,12 @@ const AppPasswordInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={appPasswordId}
objectType='appPassword'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@ -17,7 +17,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -53,19 +52,6 @@ const CourierServiceInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -149,6 +135,12 @@ const CourierServiceInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={courierServiceId}
objectType='courierService'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@ -17,7 +17,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -49,19 +48,6 @@ const CourierInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -145,6 +131,12 @@ const CourierInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={courierId}
objectType='courier'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -54,19 +53,6 @@ const DocumentJobInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -146,6 +132,12 @@ const DocumentJobInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={documentJobId}
objectType='documentJob'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -56,19 +55,6 @@ const DocumentPrinterInfo = () => {
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 = {
edit: () => {
objectFormRef?.current.startEditing()
@ -154,6 +140,12 @@ const DocumentPrinterInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={documentPrinterId}
objectType='documentPrinter'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -54,19 +53,6 @@ const DocumentSizeInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -146,6 +132,12 @@ const DocumentSizeInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={documentSizeId}
objectType='documentSize'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useState, useRef, useMemo } from 'react'
import { useState, useRef } from 'react'
import { useLocation } from 'react-router-dom'
import { Space, Flex, Card } from 'antd'
import loglevel from 'loglevel'
@ -10,11 +10,9 @@ import ViewButton from '../../common/ViewButton.jsx'
import NoteIcon from '../../../Icons/NoteIcon.jsx'
import ObjectForm from '../../common/ObjectForm.jsx'
import EditButtons from '../../common/EditButtons.jsx'
import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButtons.jsx'
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ScrollBox from '../../common/ScrollBox.jsx'
import TemplateEditor from '../../common/TemplateEditor.jsx'
@ -48,19 +46,6 @@ const DocumentTemplateDesign = () => {
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 = {
edit: () => {
objectFormRef?.current.startEditing()

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -56,19 +55,6 @@ const DocumentTemplateInfo = () => {
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 = {
edit: () => {
objectFormRef?.current.startEditing()
@ -151,6 +137,12 @@ const DocumentTemplateInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={documentTemplateId}
objectType='documentTemplate'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import useCollapseState from '../../hooks/useCollapseState'
@ -15,7 +15,6 @@ import NoteIcon from '../../../Icons/NoteIcon.jsx'
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -48,19 +47,6 @@ const FilamentSkuInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -144,6 +130,12 @@ const FilamentSkuInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={filamentSkuId}
objectType='filamentSku'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -67,19 +66,6 @@ const FilamentInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -167,6 +153,12 @@ const FilamentInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={filamentId}
objectType='filament'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useContext, useRef, useState, useMemo } from 'react'
import { useContext, useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@ -17,7 +17,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -57,19 +56,6 @@ const FileInfo = () => {
})
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -159,6 +145,12 @@ const FileInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={fileId}
objectType='file'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -62,19 +61,6 @@ const HostInfo = () => {
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 = {
edit: () => {
objectFormRef?.current.startEditing()
@ -162,6 +148,12 @@ const HostInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={hostId}
objectType='host'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@ -17,7 +17,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -51,19 +50,6 @@ const MaterialInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -147,6 +133,12 @@ const MaterialInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={materialId}
objectType='material'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -14,7 +14,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -44,19 +43,6 @@ const NoteTypeInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -135,6 +121,12 @@ const NoteTypeInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={noteTypeId}
objectType='noteType'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -20,7 +20,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -52,19 +51,6 @@ const NoteInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -149,6 +135,12 @@ const NoteInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={noteId}
objectType='note'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import useCollapseState from '../../hooks/useCollapseState'
@ -15,7 +15,6 @@ import NoteIcon from '../../../Icons/NoteIcon.jsx'
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -43,19 +42,6 @@ const PartSkuInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -139,6 +125,12 @@ const PartSkuInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={partSkuId}
objectType='partSku'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import useCollapseState from '../../hooks/useCollapseState'
@ -15,7 +15,6 @@ import NoteIcon from '../../../Icons/NoteIcon.jsx'
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -55,19 +54,6 @@ const PartInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -147,6 +133,12 @@ const PartInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={partId}
objectType='part'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space, Spin } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -16,7 +16,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -55,19 +54,6 @@ const PermissionSettingInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -151,6 +137,12 @@ const PermissionSettingInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={permissionSettingId}
objectType='permissionSetting'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import useCollapseState from '../../hooks/useCollapseState'
@ -15,7 +15,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -48,19 +47,6 @@ const ProductCategoryInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -144,6 +130,12 @@ const ProductCategoryInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={productCategoryId}
objectType='productCategory'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import useCollapseState from '../../hooks/useCollapseState'
@ -15,7 +15,6 @@ import NoteIcon from '../../../Icons/NoteIcon.jsx'
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -49,19 +48,6 @@ const ProductSkuInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -146,6 +132,12 @@ const ProductSkuInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={productSkuId}
objectType='productSku'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import useCollapseState from '../../hooks/useCollapseState'
@ -16,7 +16,6 @@ import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -55,19 +54,6 @@ const ProductInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -147,6 +133,12 @@ const ProductInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={productId}
objectType='product'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@ -17,7 +17,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -48,19 +47,6 @@ const TaxRateInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -144,6 +130,12 @@ const TaxRateInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={taxRateId}
objectType='taxRate'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space, Spin } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -16,7 +16,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -55,19 +54,6 @@ const UserGroupInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -151,6 +137,12 @@ const UserGroupInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={userGroupId}
objectType='userGroup'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space, Spin } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -17,7 +17,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -54,19 +53,6 @@ const UserInfo = () => {
})
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -146,6 +132,12 @@ const UserInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={userId}
objectType='user'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@ -17,7 +17,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -48,19 +47,6 @@ const VendorInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -144,6 +130,12 @@ const VendorInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={vendorId}
objectType='vendor'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import MultiMotionIcon from '../../../Icons/MultiMotionIcon'
import NoteIcon from '../../../Icons/NoteIcon'
import NotesPanel from '../../common/NotesPanel'
import ObjectActions from '../../common/ObjectActions'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectForm from '../../common/ObjectForm'
import ObjectInfo from '../../common/ObjectInfo'
import ObjectTable from '../../common/ObjectTable'
@ -86,19 +85,6 @@ const FilamentProfileInfo = () => {
objectData: {}
})
const currentObjectTools = useMemo(
() => (
<ObjectTableNavigationButtons
disabled={objectFormState.loading}
_id={filamentProfileId}
objectType='filamentProfile'
showEndingDivider={false}
/>
),
[objectFormState.loading, filamentProfileId]
)
useDashboardObjectTools(currentObjectTools)
const actions = {
edit: () => {
objectFormRef.current?.startEditing?.()
@ -192,6 +178,12 @@ const FilamentProfileInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading}
_id={filamentProfileId}
objectType='filamentProfile'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -19,7 +19,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -56,19 +55,6 @@ const GCodeFileInfo = () => {
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 = {
edit: () => {
objectFormRef?.current.startEditing()
@ -152,6 +138,12 @@ const GCodeFileInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={gcodeFileId}
objectType='gcodeFile'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Space, Flex, Card } from 'antd'
import loglevel from 'loglevel'
@ -12,8 +12,6 @@ import EyeIcon from '../../../Icons/EyeIcon.jsx'
import ObjectForm from '../../common/ObjectForm.jsx'
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButtons.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ScrollBox from '../../common/ScrollBox.jsx'
import FilePreview from '../../common/FilePreview.jsx'
import MissingPlaceholder from '../../common/MissingPlaceholder.jsx'
@ -42,19 +40,6 @@ const GCodeFilePreview = () => {
lock: null
})
const currentObjectTools = useMemo(
() => (
<ObjectTableNavigationButtons
disabled={objectFormState.loading}
_id={gcodeFileId}
objectType='gcodeFile'
showEndingDivider={false}
/>
),
[objectFormState.loading, gcodeFileId]
)
useDashboardObjectTools(currentObjectTools)
return (
<Flex
gap='large'

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -63,19 +62,6 @@ 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 = {
edit: () => {
objectFormRef?.current.startEditing()
@ -158,6 +144,12 @@ const JobInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={jobId}
objectType='job'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ActivityIndicator from '../../common/ActivityIndicator'
import NoteIcon from '../../../Icons/NoteIcon'
import NotesPanel from '../../common/NotesPanel'
import ObjectActions from '../../common/ObjectActions'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectForm from '../../common/ObjectForm'
import ObjectInfo from '../../common/ObjectInfo'
import ObjectTable from '../../common/ObjectTable'
@ -64,19 +63,6 @@ const PrinterProfileInfo = () => {
objectData: {}
})
const currentObjectTools = useMemo(
() => (
<ObjectTableNavigationButtons
disabled={objectFormState.loading}
_id={printerProfileId}
objectType='printerProfile'
showEndingDivider={false}
/>
),
[objectFormState.loading, printerProfileId]
)
useDashboardObjectTools(currentObjectTools)
const actions = {
edit: () => {
objectFormRef.current?.startEditing?.()
@ -164,6 +150,12 @@ const PrinterProfileInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading}
_id={printerProfileId}
objectType='printerProfile'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useState, useRef, useEffect, useContext, useMemo } from 'react'
import { useState, useRef, useEffect, useContext } from 'react'
import { useLocation } from 'react-router-dom'
import { Space, Flex, Card, Splitter, Divider } from 'antd'
import loglevel from 'loglevel'
@ -12,7 +12,6 @@ import ObjectForm from '../../common/ObjectForm.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import PropTypes from 'prop-types'
import ObjectInfo from '../../common/ObjectInfo.jsx'
@ -106,20 +105,6 @@ const ControlPrinter = ({ slicerIntegration = false }) => {
return () => setOnModalOk(null)
}, [setOnModalOk])
const currentObjectTools = useMemo(
() =>
!slicerIntegration ? (
<ObjectTableNavigationButtons
disabled={objectFormState.loading}
_id={printerId}
objectType='printer'
showEndingDivider={false}
/>
) : null,
[objectFormState.loading, printerId, slicerIntegration]
)
useDashboardObjectTools(currentObjectTools)
const actions = {
edit: () => {
objectFormRef?.current.startEditing()
@ -335,6 +320,14 @@ const ControlPrinter = ({ slicerIntegration = false }) => {
}
loading={objectFormState.loading}
/>
{!slicerIntegration && (
<ObjectTableNavigationButtons
showEndingDivider={true}
disabled={objectFormState.loading}
_id={printerId}
objectType='printer'
/>
)}
</Flex>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -17,7 +17,6 @@ import EditButtons from '../../common/EditButtons.jsx'
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -64,19 +63,6 @@ const PrinterInfo = () => {
return () => setOnModalOk(null)
}, [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 = {
edit: () => {
objectFormRef?.current.startEditing()
@ -159,6 +145,12 @@ const PrinterInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={printerId}
objectType='printer'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -16,7 +16,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -44,19 +43,6 @@ const SubJobInfo = () => {
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 = {
edit: () => {
objectFormRef?.current.startEditing()
@ -132,6 +118,12 @@ const SubJobInfo = () => {
disabled={true}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={subJobId}
objectType='subJob'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useMemo } from 'react'
import { useRef, useState } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@ -17,7 +17,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import ObjectActions from '../../common/ObjectActions.jsx'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import DocumentPrintButton from '../../common/DocumentPrintButton.jsx'
@ -48,19 +47,6 @@ const ClientInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -144,6 +130,12 @@ const ClientInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={clientId}
objectType='client'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@ -17,7 +17,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -62,19 +61,6 @@ const ListingVarientInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -157,6 +143,12 @@ const ListingVarientInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={listingVarientId}
objectType='listingVarient'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, Space } from 'antd'
import loglevel from 'loglevel'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -60,19 +59,6 @@ const ListingInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -156,6 +142,12 @@ const ListingInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={listingId}
objectType='listing'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useContext, useRef, useState, useEffect, useMemo } from 'react'
import { useContext, useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Card, Flex, message, Space } from 'antd'
import loglevel from 'loglevel'
@ -17,7 +17,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -117,19 +116,6 @@ const MarketplaceInfo = () => {
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 = {
edit: () => {
objectFormRef?.current?.startEditing?.()
@ -224,6 +210,12 @@ const MarketplaceInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={marketplaceId}
objectType='marketplace'
showEndingDivider={true}
/>
</Space>
</Flex>
<ScrollBox>

View File

@ -1,4 +1,4 @@
import { useRef, useState, useEffect, useMemo } from 'react'
import { useRef, useState, useEffect } from 'react'
import { useLocation } from 'react-router-dom'
import { Space, Flex, Card } from 'antd'
import { LoadingOutlined } from '@ant-design/icons'
@ -18,7 +18,6 @@ import ObjectTableNavigationButtons from '../../common/ObjectTableNavigationButt
import ActivityIndicator from '../../common/ActivityIndicator.jsx'
import ActionHandler from '../../common/ActionHandler.jsx'
import { useActions } from '../../context/ActionsContext'
import { useDashboardObjectTools } from '../../context/DashboardObjectToolsContext'
import ObjectActions from '../../common/ObjectActions.jsx'
import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
@ -72,19 +71,6 @@ const SalesOrderInfo = () => {
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 = {
edit: () => {
orderItemsTableRef?.current?.startEditing?.()
@ -177,6 +163,12 @@ const SalesOrderInfo = () => {
}
loading={objectFormState.editLoading}
/>
<ObjectTableNavigationButtons
disabled={objectFormState.loading || objectFormState.isEditing}
_id={salesOrderId}
objectType='salesOrder'
showEndingDivider={true}
/>
</Space>
</Flex>

View File

@ -1,4 +1,4 @@
import { useEffect, useRef, useMemo } from 'react'
import { useEffect, useRef, cloneElement, useMemo } from 'react'
import PropTypes from 'prop-types'
import loglevel from 'loglevel'
import config from '../../../config'
@ -50,6 +50,7 @@ const KeyboardShortcut = ({
onTrigger,
log = false
}) => {
const childRef = useRef()
const pressedKeysRef = useRef(new Set())
const shortcutKeys = useMemo(() => parseShortcut(shortcut), [shortcut])
@ -93,6 +94,8 @@ const KeyboardShortcut = ({
}
}, [shortcutKeys, onTrigger, log])
const element = cloneElement(children, { ref: childRef })
if (hint) {
var osSpecificHint = hint.replaceAll('ALT', '⌥')
@ -101,11 +104,11 @@ const KeyboardShortcut = ({
hideBorder
title={<KeyboardKey size='md'>{osSpecificHint}</KeyboardKey>}
>
{children}
{element}
</Tooltip>
)
}
return children
return element
}
KeyboardShortcut.propTypes = {

View File

@ -1259,11 +1259,7 @@ const ObjectTable = forwardRef(
fixed: isMobile ? undefined : fixed,
key: prop.name,
filterIcon: () => {
return (
<Tooltip title='Filter' listenParents={1}>
<FilterIcon />
</Tooltip>
)
return <FilterIcon />
},
render: (text, record) => {
if (record?.isSkeleton) {

View File

@ -1,7 +1,8 @@
import { useContext, useEffect, useState, useCallback, useRef } from 'react'
import { Button, Divider, Flex, Space } from 'antd'
import { useSearchParams } from 'react-router-dom'
import ArrowLeftIcon from '../../Icons/ArrowLeftIcon.jsx'
import ArrowRightIcon from '../../Icons/ArrowRightIcon.jsx'
import PropTypes from 'prop-types'
import { ApiServerContext } from '../context/ApiServerContext'
import { AuthContext } from '../context/AuthContext'
@ -10,8 +11,6 @@ import {
useTableStatePersistence
} from '../context/TableStateContext'
import KeyboardShortcut from './KeyboardShortcut.jsx'
import ChevronLeftIcon from '../../Icons/ChevronLeftIcon.jsx'
import ChevronRightIcon from '../../Icons/ChevronRightIcon.jsx'
const ObjectTableNavigationButtons = ({
disabled,
@ -26,10 +25,10 @@ const ObjectTableNavigationButtons = ({
const [loading, setLoading] = useState(false)
const { getPersistedFilter, getPersistedSorter } = useTableStatePersistence({
scope: objectType,
useFilterInSession: true,
useSortInSession: true
})
scope: objectType,
useFilterInSession: true,
useSortInSession: true
})
const getObjectNeighborsRef = useRef(getObjectNeighbors)
getObjectNeighborsRef.current = getObjectNeighbors
@ -115,21 +114,15 @@ const ObjectTableNavigationButtons = ({
{showEndingDivider && (
<Divider type='vertical' style={{ margin: '0 4px', height: '18px' }} />
)}
<Space.Compact size='small' style={{ height: '22px' }}>
<Space size='small'>
<KeyboardShortcut
shortcut='alt+arrowleft'
hint='ALT ←'
onTrigger={handlePreviousShortcut}
>
<Button
type='text'
icon={
<ChevronLeftIcon
style={{ fontSize: '10px', marginBottom: '6px' }}
/>
}
icon={<ArrowLeftIcon />}
onClick={handlePrevious}
style={{ padding: 0, height: '22px', width: '32px' }}
disabled={disabled || loading || !neighbors.previous?._id}
/>
</KeyboardShortcut>
@ -139,18 +132,12 @@ const ObjectTableNavigationButtons = ({
onTrigger={handleNextShortcut}
>
<Button
type='text'
icon={
<ChevronRightIcon
style={{ fontSize: '10px', marginBottom: '6px' }}
/>
}
icon={<ArrowRightIcon />}
onClick={handleNext}
style={{ padding: 0, height: '22px', width: '32px' }}
disabled={disabled || loading || !neighbors.next?._id}
/>
</KeyboardShortcut>
</Space.Compact>
</Space>
</Flex>
)
}

View File

@ -7,16 +7,6 @@ const mergeHandler = (original, next) => (event) => {
original?.(event)
}
const mergeRefs = (...refs) => (node) => {
refs.forEach((ref) => {
if (typeof ref === 'function') {
ref(node)
} else if (ref) {
ref.current = node
}
})
}
const Tooltip = ({
children,
title,
@ -27,7 +17,7 @@ const Tooltip = ({
const { showTooltip, hideTooltip } = useTooltipContext()
const id = useId()
const tooltipContent = title ?? content
const childRef = useRef(null)
const spanRef = useRef(null)
const hoveredTargetsRef = useRef(new Set())
const hoveringRef = useRef(false)
const tooltipContentRef = useRef(tooltipContent)
@ -70,8 +60,8 @@ const Tooltip = ({
onMouseLeaveRef.current = onMouseLeave
useEffect(() => {
const child = childRef.current
if (!child || listenParents < 1) return
const span = spanRef.current
if (!span || listenParents < 1) return
const hoveredTargets = hoveredTargetsRef.current
@ -79,7 +69,7 @@ const Tooltip = ({
const handleLeave = (event) => onMouseLeaveRef.current(event)
const parents = []
let current = child.parentElement
let current = span.parentElement
for (let i = 0; i < listenParents && current; i += 1) {
parents.push(current)
current = current.parentElement
@ -99,15 +89,30 @@ const Tooltip = ({
}
}, [listenParents])
if (!isValidElement(children)) {
return children
const wrapWithSpan = (node) => (
<span ref={spanRef} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>
{node}
</span>
)
if (isValidElement(children)) {
const trigger = cloneElement(children, {
onMouseEnter: mergeHandler(children.props.onMouseEnter, onMouseEnter),
onMouseLeave: mergeHandler(children.props.onMouseLeave, onMouseLeave)
})
if (listenParents > 0) {
return wrapWithSpan(children)
}
if (children.props.disabled) {
return wrapWithSpan(trigger)
}
return trigger
}
return cloneElement(children, {
ref: mergeRefs(children.ref, childRef),
onMouseEnter: mergeHandler(children.props.onMouseEnter, onMouseEnter),
onMouseLeave: mergeHandler(children.props.onMouseLeave, onMouseLeave)
})
return wrapWithSpan(children)
}
Tooltip.propTypes = {

View File

@ -1,78 +0,0 @@
import {
createContext,
useCallback,
useContext,
useEffect,
useRef,
useState
} from 'react'
import PropTypes from 'prop-types'
const DashboardObjectToolsContext = createContext()
export const DashboardObjectToolsProvider = ({ children }) => {
const [currentObjectTools, setCurrentObjectToolsState] = useState(null)
const ownerRef = useRef(null)
const setCurrentObjectTools = useCallback((tools, ownerId) => {
ownerRef.current = ownerId
setCurrentObjectToolsState(tools)
}, [])
const clearCurrentObjectTools = useCallback((ownerId) => {
if (ownerRef.current !== ownerId) {
return
}
ownerRef.current = null
setCurrentObjectToolsState(null)
}, [])
return (
<DashboardObjectToolsContext.Provider
value={{
currentObjectTools,
setCurrentObjectTools,
clearCurrentObjectTools
}}
>
{children}
</DashboardObjectToolsContext.Provider>
)
}
DashboardObjectToolsProvider.propTypes = {
children: PropTypes.node.isRequired
}
// eslint-disable-next-line react-refresh/only-export-components
export const useDashboardObjectToolsContext = () => {
const context = useContext(DashboardObjectToolsContext)
if (!context) {
throw new Error(
'useDashboardObjectToolsContext must be used within a DashboardObjectToolsProvider'
)
}
return context
}
// eslint-disable-next-line react-refresh/only-export-components
export const useDashboardObjectTools = (tools) => {
const { setCurrentObjectTools, clearCurrentObjectTools } =
useDashboardObjectToolsContext()
const ownerIdRef = useRef(null)
if (ownerIdRef.current == null) {
ownerIdRef.current = Symbol('dashboardObjectTools')
}
useEffect(() => {
setCurrentObjectTools(tools, ownerIdRef.current)
}, [tools, setCurrentObjectTools])
useEffect(() => {
const ownerId = ownerIdRef.current
return () => clearCurrentObjectTools(ownerId)
}, [clearCurrentObjectTools])
}
export { DashboardObjectToolsContext }

View File

@ -1,6 +0,0 @@
import Icon from '@ant-design/icons'
import CustomIconSvg from '../../../assets/icons/chevronlefticon.svg?react'
const ChevronLeftIcon = (props) => <Icon component={CustomIconSvg} {...props} />
export default ChevronLeftIcon