Compare commits

..

No commits in common. "f56646f906927243d2176200ebf8cf548155eb46" and "d9f3bb185fe3d95222c736ceb824403eff5cc093" have entirely different histories.

57 changed files with 329 additions and 411 deletions

View File

@ -124,7 +124,6 @@
.dashboard-navigation-fade { .dashboard-navigation-fade {
opacity: 1; opacity: 1;
visibility: visible; visibility: visible;
/* Incoming chrome waits for the outgoing fade, then fades in. */
transition: transition:
opacity 0.2s ease 0.2s, opacity 0.2s ease 0.2s,
visibility 0s linear 0.2s; visibility 0s linear 0.2s;
@ -134,14 +133,9 @@
opacity: 0; opacity: 0;
visibility: hidden; visibility: hidden;
pointer-events: none; pointer-events: none;
/*
Visibility must use a non-zero duration on hide. A 0s visibility
transition makes WebKit apply hidden immediately, so opacity never
animates and the chrome glitches out instead of fading.
*/
transition: transition:
opacity 0.2s ease 0s, opacity 0.2s ease 0s,
visibility 0.2s linear 0s; visibility 0s linear 0.2s;
} }
.dashboard-navigation-window-title { .dashboard-navigation-window-title {
@ -168,7 +162,7 @@
pointer-events: none; pointer-events: none;
opacity: 1; opacity: 1;
/* Wait for outgoing chrome to finish fading before this line appears. */ /* Wait for outgoing chrome to finish fading before this line appears. */
transition: opacity 0.2s ease 0s; transition: opacity 0s ease 0s;
} }
.dashboard-navigation-center-border-hidden { .dashboard-navigation-center-border-hidden {

View File

@ -27,10 +27,7 @@ import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import InfoActionButtons from '../../common/InfoActionButtons.jsx' import InfoActionButtons from '../../common/InfoActionButtons.jsx'
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx' import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
import ScrollBox from '../../common/ScrollBox.jsx' import ScrollBox from '../../common/ScrollBox.jsx'
import { import { getModelProperty, getModelByName } from '../../../../database/ObjectModels.js'
getModelProperty,
getModelByName
} from '../../../../database/ObjectModels.js'
import OrderItemIcon from '../../../Icons/OrderItemIcon.jsx' import OrderItemIcon from '../../../Icons/OrderItemIcon.jsx'
import ShipmentIcon from '../../../Icons/ShipmentIcon.jsx' import ShipmentIcon from '../../../Icons/ShipmentIcon.jsx'
@ -94,7 +91,7 @@ const InvoiceInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -103,7 +100,6 @@ const InvoiceInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -261,9 +257,7 @@ const InvoiceInfo = () => {
) : ( ) : (
<ObjectTable <ObjectTable
type='payment' type='payment'
masterFilter={{ masterFilter={{ invoice: getModelByName('invoice').prefix + ':' + invoiceId }}
invoice: getModelByName('invoice').prefix + ':' + invoiceId
}}
visibleColumns={{ invoice: false }} visibleColumns={{ invoice: false }}
/> />
)} )}
@ -280,7 +274,7 @@ const InvoiceInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={invoiceId} type='invoice' /> <NotesPanel _id={invoiceId} type='invoice' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -297,7 +291,10 @@ const InvoiceInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('invoice').prefix + ':' + invoiceId parent:
getModelByName('invoice').prefix +
':' +
invoiceId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -93,7 +93,7 @@ const PaymentPolicyInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>

View File

@ -84,7 +84,7 @@ const PaymentInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -93,7 +93,6 @@ const PaymentInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -210,7 +209,7 @@ const PaymentInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={paymentId} type='payment' /> <NotesPanel _id={paymentId} type='payment' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>

View File

@ -77,7 +77,7 @@ const TaxRecordInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -85,14 +85,14 @@ const TaxRecordInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='taxRecord' type='taxRecord'
pageName='info' pageName='info'
id={taxRecordId} id={taxRecordId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -193,7 +193,7 @@ const TaxRecordInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={taxRecordId} type='taxRecord' /> <NotesPanel _id={taxRecordId} type='taxRecord' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -212,8 +212,10 @@ const TaxRecordInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('taxRecord').prefix + ':' + taxRecordId getModelByName('taxRecord').prefix +
':' +
taxRecordId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -87,14 +87,14 @@ const FilamentStockInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='filamentStock' type='filamentStock'
pageName='info' pageName='info'
id={filamentStockId} id={filamentStockId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -197,12 +197,7 @@ const FilamentStockInfo = () => {
) : ( ) : (
<ObjectTable <ObjectTable
type='stockEvent' type='stockEvent'
masterFilter={{ masterFilter={{ parent: getModelByName('filamentStock').prefix + ':' + filamentStockId }}
parent:
getModelByName('filamentStock').prefix +
':' +
filamentStockId
}}
visibleColumns={{ parent: false }} visibleColumns={{ parent: false }}
/> />
)} )}
@ -237,7 +232,7 @@ const FilamentStockInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={filamentStockId} type='filamentStock' /> <NotesPanel _id={filamentStockId} type='filamentStock' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -256,10 +251,10 @@ const FilamentStockInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('filamentStock').prefix + getModelByName('filamentStock').prefix +
':' + ':' +
filamentStockId filamentStockId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -78,7 +78,7 @@ const OrderItemInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -88,7 +88,6 @@ const OrderItemInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -97,7 +96,7 @@ const OrderItemInfo = () => {
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='orderItem' type='orderItem'
pageName='info' pageName='info'
id={orderItemId} id={orderItemId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -205,7 +204,7 @@ const OrderItemInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={orderItemId} type='orderItem' /> <NotesPanel _id={orderItemId} type='orderItem' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -224,8 +223,10 @@ const OrderItemInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('orderItem').prefix + ':' + orderItemId getModelByName('orderItem').prefix +
':' +
orderItemId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -93,7 +93,6 @@ const PartStockInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -102,7 +101,7 @@ const PartStockInfo = () => {
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='partStock' type='partStock'
pageName='info' pageName='info'
id={partStockId} id={partStockId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -215,10 +214,7 @@ const PartStockInfo = () => {
) : ( ) : (
<ObjectTable <ObjectTable
type='stockEvent' type='stockEvent'
masterFilter={{ masterFilter={{ parent: getModelByName('partStock').prefix + ':' + partStockId }}
parent:
getModelByName('partStock').prefix + ':' + partStockId
}}
visibleColumns={{ parent: false }} visibleColumns={{ parent: false }}
/> />
)} )}
@ -255,7 +251,7 @@ const PartStockInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={partStockId} type='partStock' /> <NotesPanel _id={partStockId} type='partStock' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -275,8 +271,10 @@ const PartStockInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('partStock').prefix + ':' + partStockId getModelByName('partStock').prefix +
':' +
partStockId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -109,7 +109,6 @@ const ProductStockInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >

View File

@ -102,7 +102,7 @@ const PurchaseOrderInfo = () => {
orderItemsTableRef?.current?.handleUpdate?.() orderItemsTableRef?.current?.handleUpdate?.()
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -111,7 +111,6 @@ const PurchaseOrderInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -231,10 +230,7 @@ const PurchaseOrderInfo = () => {
<ObjectTable <ObjectTable
type='orderItem' type='orderItem'
masterFilter={{ masterFilter={{
order: order: getModelByName('purchaseOrder').prefix + ':' + purchaseOrderId,
getModelByName('purchaseOrder').prefix +
':' +
purchaseOrderId,
orderType: 'purchaseOrder' orderType: 'purchaseOrder'
}} }}
visibleColumns={{ order: false }} visibleColumns={{ order: false }}
@ -253,10 +249,7 @@ const PurchaseOrderInfo = () => {
<ObjectTable <ObjectTable
type='shipment' type='shipment'
masterFilter={{ masterFilter={{
order: order: getModelByName('purchaseOrder').prefix + ':' + purchaseOrderId,
getModelByName('purchaseOrder').prefix +
':' +
purchaseOrderId,
orderType: 'purchaseOrder' orderType: 'purchaseOrder'
}} }}
visibleColumns={{ order: false }} visibleColumns={{ order: false }}
@ -278,10 +271,7 @@ const PurchaseOrderInfo = () => {
<ObjectTable <ObjectTable
type='invoice' type='invoice'
masterFilter={{ masterFilter={{
order: order: getModelByName('purchaseOrder').prefix + ':' + purchaseOrderId,
getModelByName('purchaseOrder').prefix +
':' +
purchaseOrderId,
orderType: 'purchaseOrder' orderType: 'purchaseOrder'
}} }}
visibleColumns={{ order: false }} visibleColumns={{ order: false }}
@ -303,10 +293,7 @@ const PurchaseOrderInfo = () => {
<ObjectTable <ObjectTable
type='stockEvent' type='stockEvent'
masterFilter={{ masterFilter={{
owner: owner: getModelByName('purchaseOrder').prefix + ':' + purchaseOrderId
getModelByName('purchaseOrder').prefix +
':' +
purchaseOrderId
}} }}
/> />
)} )}
@ -327,7 +314,7 @@ const PurchaseOrderInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={purchaseOrderId} type='purchaseOrder' /> <NotesPanel _id={purchaseOrderId} type='purchaseOrder' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -344,10 +331,10 @@ const PurchaseOrderInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('purchaseOrder').prefix + getModelByName('purchaseOrder').prefix +
':' + ':' +
purchaseOrderId purchaseOrderId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -121,7 +121,6 @@ const PurchaseOrderInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -130,7 +129,7 @@ const PurchaseOrderInfo = () => {
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='purchaseOrder' type='purchaseOrder'
pageName='info' pageName='info'
id={purchaseOrderId} id={purchaseOrderId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -234,10 +233,7 @@ const PurchaseOrderInfo = () => {
<ObjectTable <ObjectTable
type='orderItem' type='orderItem'
masterFilter={{ masterFilter={{
order: order: getModelByName('purchaseOrder').prefix + ':' + purchaseOrderId,
getModelByName('purchaseOrder').prefix +
':' +
purchaseOrderId,
orderType: 'purchaseOrder' orderType: 'purchaseOrder'
}} }}
visibleColumns={{ order: false }} visibleColumns={{ order: false }}
@ -256,10 +252,7 @@ const PurchaseOrderInfo = () => {
<ObjectTable <ObjectTable
type='shipment' type='shipment'
masterFilter={{ masterFilter={{
order: order: getModelByName('purchaseOrder').prefix + ':' + purchaseOrderId,
getModelByName('purchaseOrder').prefix +
':' +
purchaseOrderId,
orderType: 'purchaseOrder' orderType: 'purchaseOrder'
}} }}
visibleColumns={{ order: false }} visibleColumns={{ order: false }}
@ -282,7 +275,7 @@ const PurchaseOrderInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={purchaseOrderId} type='purchaseOrder' /> <NotesPanel _id={purchaseOrderId} type='purchaseOrder' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -301,10 +294,10 @@ const PurchaseOrderInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('purchaseOrder').prefix + getModelByName('purchaseOrder').prefix +
':' + ':' +
purchaseOrderId purchaseOrderId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -96,7 +96,6 @@ const ShipmentInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >

View File

@ -26,10 +26,7 @@ import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx' import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import InfoActionButtons from '../../common/InfoActionButtons.jsx' import InfoActionButtons from '../../common/InfoActionButtons.jsx'
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx' import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
import { import { getModelProperty, getModelByName } from '../../../../database/ObjectModels.js'
getModelProperty,
getModelByName
} from '../../../../database/ObjectModels.js'
import ScrollBox from '../../common/ScrollBox.jsx' import ScrollBox from '../../common/ScrollBox.jsx'
const log = loglevel.getLogger('StockAuditInfo') const log = loglevel.getLogger('StockAuditInfo')
@ -95,7 +92,6 @@ const StockAuditInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -184,9 +180,7 @@ const StockAuditInfo = () => {
title='Stock Audit Information' title='Stock Audit Information'
icon={<InfoCircleIcon />} icon={<InfoCircleIcon />}
active={collapseState.info} active={collapseState.info}
onToggle={(expanded) => onToggle={(expanded) => updateCollapseState('info', expanded)}
updateCollapseState('info', expanded)
}
collapseKey='info' collapseKey='info'
> >
<ObjectInfo <ObjectInfo
@ -268,7 +262,9 @@ const StockAuditInfo = () => {
title='Audit Logs' title='Audit Logs'
icon={<AuditLogIcon />} icon={<AuditLogIcon />}
active={collapseState.auditLogs} active={collapseState.auditLogs}
onToggle={(expanded) => updateCollapseState('auditLogs', expanded)} onToggle={(expanded) =>
updateCollapseState('auditLogs', expanded)
}
collapseKey='auditLogs' collapseKey='auditLogs'
> >
{objectFormState.loading ? ( {objectFormState.loading ? (
@ -278,7 +274,9 @@ const StockAuditInfo = () => {
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('stockAudit').prefix + ':' + stockAuditId getModelByName('stockAudit').prefix +
':' +
stockAuditId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -98,7 +98,6 @@ const StockLocationInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -107,7 +106,7 @@ const StockLocationInfo = () => {
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='stockLocation' type='stockLocation'
pageName='info' pageName='info'
id={stockLocationId} id={stockLocationId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -330,7 +329,7 @@ const StockLocationInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={stockLocationId} type='stockLocation' /> <NotesPanel _id={stockLocationId} type='stockLocation' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -350,10 +349,10 @@ const StockLocationInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('stockLocation').prefix + getModelByName('stockLocation').prefix +
':' + ':' +
stockLocationId stockLocationId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -8,10 +8,7 @@ import InfoCollapse from '../../common/InfoCollapse.jsx'
import ObjectInfo from '../../common/ObjectInfo.jsx' import ObjectInfo from '../../common/ObjectInfo.jsx'
import ObjectProperty from '../../common/ObjectProperty.jsx' import ObjectProperty from '../../common/ObjectProperty.jsx'
import ViewButton from '../../common/ViewButton.jsx' import ViewButton from '../../common/ViewButton.jsx'
import { import { getModelProperty, getModelByName } from '../../../../database/ObjectModels.js'
getModelProperty,
getModelByName
} from '../../../../database/ObjectModels.js'
import InfoCircleIcon from '../../../Icons/InfoCircleIcon.jsx' import InfoCircleIcon from '../../../Icons/InfoCircleIcon.jsx'
import NoteIcon from '../../../Icons/NoteIcon.jsx' import NoteIcon from '../../../Icons/NoteIcon.jsx'
import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx' import AuditLogIcon from '../../../Icons/AuditLogIcon.jsx'
@ -92,7 +89,7 @@ const StockTransferInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current.handleUpdate() objectFormRef?.current.handleUpdate()
return true return true
} },
} }
return ( return (
@ -101,7 +98,6 @@ const StockTransferInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -267,7 +263,7 @@ const StockTransferInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={stockTransferId} type='stockTransfer' /> <NotesPanel _id={stockTransferId} type='stockTransfer' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -285,10 +281,10 @@ const StockTransferInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('stockTransfer').prefix + getModelByName('stockTransfer').prefix +
':' + ':' +
stockTransferId stockTransferId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -87,7 +87,7 @@ const AppPasswordInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
@ -196,8 +196,10 @@ const AppPasswordInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('appPassword').prefix + ':' + appPasswordId getModelByName('appPassword').prefix +
':' +
appPasswordId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -25,10 +25,7 @@ import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx' import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import InfoActionButtons from '../../common/InfoActionButtons.jsx' import InfoActionButtons from '../../common/InfoActionButtons.jsx'
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx' import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
import { import { getModelProperty, getModelByName } from '../../../../database/ObjectModels.js'
getModelProperty,
getModelByName
} from '../../../../database/ObjectModels.js'
import ScrollBox from '../../common/ScrollBox.jsx' import ScrollBox from '../../common/ScrollBox.jsx'
const log = loglevel.getLogger('CourierServiceInfo') const log = loglevel.getLogger('CourierServiceInfo')
@ -85,7 +82,7 @@ const CourierServiceInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -93,14 +90,14 @@ const CourierServiceInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='courierService' type='courierService'
pageName='info' pageName='info'
id={courierServiceId} id={courierServiceId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -225,7 +222,7 @@ const CourierServiceInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={courierServiceId} type='courierService' /> <NotesPanel _id={courierServiceId} type='courierService' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -244,10 +241,10 @@ const CourierServiceInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('courierService').prefix + getModelByName('courierService').prefix +
':' + ':' +
courierServiceId courierServiceId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -75,7 +75,7 @@ const CourierInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -83,14 +83,14 @@ const CourierInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='courier' type='courier'
pageName='info' pageName='info'
id={courierId} id={courierId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -193,9 +193,7 @@ const CourierInfo = () => {
) : ( ) : (
<ObjectTable <ObjectTable
type='courierService' type='courierService'
masterFilter={{ masterFilter={{ courier: getModelByName('courier').prefix + ':' + courierId }}
courier: getModelByName('courier').prefix + ':' + courierId
}}
visibleColumns={{ visibleColumns={{
courier: false courier: false
}} }}
@ -214,7 +212,7 @@ const CourierInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={courierId} type='courier' /> <NotesPanel _id={courierId} type='courier' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -233,7 +231,10 @@ const CourierInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('courier').prefix + ':' + courierId parent:
getModelByName('courier').prefix +
':' +
courierId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -87,14 +87,14 @@ const DocumentJobInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='documentJob' type='documentJob'
pageName='info' pageName='info'
id={documentJobId} id={documentJobId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -196,7 +196,7 @@ const DocumentJobInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={documentJobId} type='documentJob' /> <NotesPanel _id={documentJobId} type='documentJob' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -215,8 +215,10 @@ const DocumentJobInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('documentJob').prefix + ':' + documentJobId getModelByName('documentJob').prefix +
':' +
documentJobId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -91,7 +91,6 @@ const DocumentPrinterInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >

View File

@ -87,14 +87,14 @@ const DocumentSizeInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='documentSize' type='documentSize'
pageName='info' pageName='info'
id={documentSizeId} id={documentSizeId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -197,7 +197,7 @@ const DocumentSizeInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={documentSizeId} type='documentSize' /> <NotesPanel _id={documentSizeId} type='documentSize' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -216,10 +216,10 @@ const DocumentSizeInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('documentSize').prefix + getModelByName('documentSize').prefix +
':' + ':' +
documentSizeId documentSizeId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -97,7 +97,6 @@ const DocumentTemplateInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >

View File

@ -88,7 +88,7 @@ const EmailAccountInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>

View File

@ -23,10 +23,7 @@ import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx' import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import InfoActionButtons from '../../common/InfoActionButtons.jsx' import InfoActionButtons from '../../common/InfoActionButtons.jsx'
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx' import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
import { import { getModelByName, getModelProperty } from '../../../../database/ObjectModels.js'
getModelByName,
getModelProperty
} from '../../../../database/ObjectModels.js'
import ScrollBox from '../../common/ScrollBox.jsx' import ScrollBox from '../../common/ScrollBox.jsx'
import TemplatePreview from '../../common/TemplatePreview.jsx' import TemplatePreview from '../../common/TemplatePreview.jsx'
@ -77,7 +74,7 @@ const EmailMessageInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>

View File

@ -25,10 +25,7 @@ import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx' import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import InfoActionButtons from '../../common/InfoActionButtons.jsx' import InfoActionButtons from '../../common/InfoActionButtons.jsx'
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx' import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
import { import { getModelByName, getModelProperty } from '../../../../database/ObjectModels.js'
getModelByName,
getModelProperty
} from '../../../../database/ObjectModels.js'
import ScrollBox from '../../common/ScrollBox.jsx' import ScrollBox from '../../common/ScrollBox.jsx'
const log = loglevel.getLogger('EmailTemplateInfo') const log = loglevel.getLogger('EmailTemplateInfo')
@ -95,7 +92,7 @@ const EmailTemplateInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>

View File

@ -74,7 +74,7 @@ const FilamentSkuInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -82,14 +82,14 @@ const FilamentSkuInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='filamentSku' type='filamentSku'
pageName='info' pageName='info'
id={filamentSkuId} id={filamentSkuId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -190,7 +190,7 @@ const FilamentSkuInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={filamentSkuId} type='filamentSku' /> <NotesPanel _id={filamentSkuId} type='filamentSku' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -209,8 +209,10 @@ const FilamentSkuInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('filamentSku').prefix + ':' + filamentSkuId getModelByName('filamentSku').prefix +
':' +
filamentSkuId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -92,7 +92,7 @@ const FilamentInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -101,7 +101,6 @@ const FilamentInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -221,9 +220,7 @@ const FilamentInfo = () => {
<ObjectTable <ObjectTable
ref={filamentSkusTableRef} ref={filamentSkusTableRef}
type='filamentSku' type='filamentSku'
masterFilter={{ masterFilter={{ filament: getModelByName('filament').prefix + ':' + filamentId }}
filament: getModelByName('filament').prefix + ':' + filamentId
}}
visibleColumns={{ filament: false }} visibleColumns={{ filament: false }}
/> />
)} )}
@ -241,9 +238,7 @@ const FilamentInfo = () => {
) : ( ) : (
<ObjectTable <ObjectTable
type='filamentStock' type='filamentStock'
masterFilter={{ masterFilter={{ filament: getModelByName('filament').prefix + ':' + filamentId }}
filament: getModelByName('filament').prefix + ':' + filamentId
}}
visibleColumns={{ visibleColumns={{
filament: false, filament: false,
startingWeight: false startingWeight: false
@ -264,7 +259,7 @@ const FilamentInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={filamentId} type='filament' /> <NotesPanel _id={filamentId} type='filament' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -282,7 +277,10 @@ const FilamentInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('filament').prefix + ':' + filamentId parent:
getModelByName('filament').prefix +
':' +
filamentId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -98,7 +98,7 @@ const FileInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>

View File

@ -87,7 +87,7 @@ const HostInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current.handleUpdate() objectFormRef?.current.handleUpdate()
return true return true
} },
} }
return ( return (
@ -96,7 +96,6 @@ const HostInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -214,9 +213,7 @@ const HostInfo = () => {
) : ( ) : (
<ObjectTable <ObjectTable
type='printer' type='printer'
masterFilter={{ masterFilter={{ host: getModelByName('host').prefix + ':' + hostId }}
host: getModelByName('host').prefix + ':' + hostId
}}
visibleColumns={{ visibleColumns={{
host: false host: false
}} }}
@ -237,9 +234,7 @@ const HostInfo = () => {
) : ( ) : (
<ObjectTable <ObjectTable
type='documentPrinter' type='documentPrinter'
masterFilter={{ masterFilter={{ host: getModelByName('host').prefix + ':' + hostId }}
host: getModelByName('host').prefix + ':' + hostId
}}
visibleColumns={{ visibleColumns={{
host: false host: false
}} }}
@ -259,7 +254,7 @@ const HostInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={hostId} type='host' /> <NotesPanel _id={hostId} type='host' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -277,7 +272,10 @@ const HostInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('host').prefix + ':' + hostId parent:
getModelByName('host').prefix +
':' +
hostId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -77,7 +77,7 @@ const MaterialInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -85,14 +85,14 @@ const MaterialInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='material' type='material'
pageName='info' pageName='info'
id={materialId} id={materialId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -193,7 +193,7 @@ const MaterialInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={materialId} type='material' /> <NotesPanel _id={materialId} type='material' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -212,7 +212,10 @@ const MaterialInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('material').prefix + ':' + materialId parent:
getModelByName('material').prefix +
':' +
materialId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -77,14 +77,14 @@ const NoteTypeInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='noteType' type='noteType'
pageName='info' pageName='info'
id={noteTypeId} id={noteTypeId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -188,7 +188,10 @@ const NoteTypeInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('noteType').prefix + ':' + noteTypeId parent:
getModelByName('noteType').prefix +
':' +
noteTypeId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -27,10 +27,7 @@ import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import InfoActionButtons from '../../common/InfoActionButtons.jsx' import InfoActionButtons from '../../common/InfoActionButtons.jsx'
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx' import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
import ScrollBox from '../../common/ScrollBox.jsx' import ScrollBox from '../../common/ScrollBox.jsx'
import { import { getModelProperty, getModelByName } from '../../../../database/ObjectModels.js'
getModelProperty,
getModelByName
} from '../../../../database/ObjectModels.js'
const log = loglevel.getLogger('NoteInfo') const log = loglevel.getLogger('NoteInfo')
log.setLevel(config.logLevel) log.setLevel(config.logLevel)
@ -86,7 +83,7 @@ const NoteInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -94,14 +91,14 @@ const NoteInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='note' type='note'
pageName='info' pageName='info'
id={noteId} id={noteId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -229,7 +226,7 @@ const NoteInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={noteId} type='note' /> <NotesPanel _id={noteId} type='note' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -248,7 +245,10 @@ const NoteInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('note').prefix + ':' + noteId parent:
getModelByName('note').prefix +
':' +
noteId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -69,7 +69,7 @@ const PartSkuInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -77,14 +77,14 @@ const PartSkuInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='partSku' type='partSku'
pageName='info' pageName='info'
id={partSkuId} id={partSkuId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -185,7 +185,7 @@ const PartSkuInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={partSkuId} type='partSku' /> <NotesPanel _id={partSkuId} type='partSku' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -204,7 +204,10 @@ const PartSkuInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('partSku').prefix + ':' + partSkuId parent:
getModelByName('partSku').prefix +
':' +
partSkuId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -88,7 +88,7 @@ const PartInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
@ -197,9 +197,7 @@ const PartInfo = () => {
<ObjectTable <ObjectTable
ref={partSkusTableRef} ref={partSkusTableRef}
type='partSku' type='partSku'
masterFilter={{ masterFilter={{ part: getModelByName('part').prefix + ':' + partId }}
part: getModelByName('part').prefix + ':' + partId
}}
visibleColumns={{ part: false }} visibleColumns={{ part: false }}
/> />
)} )}
@ -217,7 +215,7 @@ const PartInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={partId} type='part' /> <NotesPanel _id={partId} type='part' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -234,7 +232,10 @@ const PartInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('part').prefix + ':' + partId parent:
getModelByName('part').prefix +
':' +
partId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -80,7 +80,7 @@ const PermissionSettingInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -88,14 +88,14 @@ const PermissionSettingInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='permissionSetting' type='permissionSetting'
pageName='info' pageName='info'
id={permissionSettingId} id={permissionSettingId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -227,10 +227,10 @@ const PermissionSettingInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel <NotesPanel
_id={permissionSettingId} _id={permissionSettingId}
type='permissionSetting' type='permissionSetting'
/> />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>

View File

@ -23,10 +23,7 @@ import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx' import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import InfoActionButtons from '../../common/InfoActionButtons.jsx' import InfoActionButtons from '../../common/InfoActionButtons.jsx'
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx' import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
import { import { getModelProperty, getModelByName } from '../../../../database/ObjectModels.js'
getModelProperty,
getModelByName
} from '../../../../database/ObjectModels.js'
import ScrollBox from '../../common/ScrollBox.jsx' import ScrollBox from '../../common/ScrollBox.jsx'
const ProductCategoryInfo = () => { const ProductCategoryInfo = () => {
@ -80,7 +77,7 @@ const ProductCategoryInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -88,14 +85,14 @@ const ProductCategoryInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='productCategory' type='productCategory'
pageName='info' pageName='info'
id={productCategoryId} id={productCategoryId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -220,7 +217,7 @@ const ProductCategoryInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={productCategoryId} type='productCategory' /> <NotesPanel _id={productCategoryId} type='productCategory' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -239,10 +236,10 @@ const ProductCategoryInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('productCategory').prefix + getModelByName('productCategory').prefix +
':' + ':' +
productCategoryId productCategoryId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -23,10 +23,7 @@ import InfoActionButtons from '../../common/InfoActionButtons.jsx'
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx' import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
import ScrollBox from '../../common/ScrollBox.jsx' import ScrollBox from '../../common/ScrollBox.jsx'
import ObjectProperty from '../../common/ObjectProperty.jsx' import ObjectProperty from '../../common/ObjectProperty.jsx'
import { import { getModelProperty, getModelByName } from '../../../../database/ObjectModels.js'
getModelProperty,
getModelByName
} from '../../../../database/ObjectModels.js'
import PartIcon from '../../../Icons/PartIcon.jsx' import PartIcon from '../../../Icons/PartIcon.jsx'
const ProductSkuInfo = () => { const ProductSkuInfo = () => {
@ -78,7 +75,7 @@ const ProductSkuInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -86,14 +83,14 @@ const ProductSkuInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='productSku' type='productSku'
pageName='info' pageName='info'
id={productSkuId} id={productSkuId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -220,7 +217,7 @@ const ProductSkuInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={productSkuId} type='productSku' /> <NotesPanel _id={productSkuId} type='productSku' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -239,8 +236,10 @@ const ProductSkuInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('productSku').prefix + ':' + productSkuId getModelByName('productSku').prefix +
':' +
productSkuId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -88,7 +88,7 @@ const ProductInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
@ -200,10 +200,7 @@ const ProductInfo = () => {
<ObjectTable <ObjectTable
ref={productSkusTableRef} ref={productSkusTableRef}
type='productSku' type='productSku'
masterFilter={{ masterFilter={{ product: getModelByName('product').prefix + ':' + productId }}
product:
getModelByName('product').prefix + ':' + productId
}}
visibleColumns={{ product: false }} visibleColumns={{ product: false }}
/> />
)} )}
@ -225,7 +222,7 @@ const ProductInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={productId} type='product' /> <NotesPanel _id={productId} type='product' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -242,7 +239,10 @@ const ProductInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('product').prefix + ':' + productId parent:
getModelByName('product').prefix +
':' +
productId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -22,10 +22,7 @@ import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx' import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import InfoActionButtons from '../../common/InfoActionButtons.jsx' import InfoActionButtons from '../../common/InfoActionButtons.jsx'
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx' import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
import { import { getModelProperty, getModelByName } from '../../../../database/ObjectModels.js'
getModelProperty,
getModelByName
} from '../../../../database/ObjectModels.js'
import ScrollBox from '../../common/ScrollBox.jsx' import ScrollBox from '../../common/ScrollBox.jsx'
const StockAuditLevelInfo = () => { const StockAuditLevelInfo = () => {
@ -85,7 +82,7 @@ const StockAuditLevelInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
@ -235,7 +232,9 @@ const StockAuditLevelInfo = () => {
title='Audit Logs' title='Audit Logs'
icon={<AuditLogIcon />} icon={<AuditLogIcon />}
active={collapseState.auditLogs} active={collapseState.auditLogs}
onToggle={(expanded) => updateCollapseState('auditLogs', expanded)} onToggle={(expanded) =>
updateCollapseState('auditLogs', expanded)
}
collapseKey='auditLogs' collapseKey='auditLogs'
> >
{objectFormState.loading ? ( {objectFormState.loading ? (

View File

@ -25,10 +25,7 @@ import ObjectTable from '../../common/ObjectTable.jsx'
import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx' import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import InfoActionButtons from '../../common/InfoActionButtons.jsx' import InfoActionButtons from '../../common/InfoActionButtons.jsx'
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx' import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
import { import { getModelProperty, getModelByName } from '../../../../database/ObjectModels.js'
getModelProperty,
getModelByName
} from '../../../../database/ObjectModels.js'
import ScrollBox from '../../common/ScrollBox.jsx' import ScrollBox from '../../common/ScrollBox.jsx'
const log = loglevel.getLogger('TaxRateInfo') const log = loglevel.getLogger('TaxRateInfo')
@ -80,7 +77,7 @@ const TaxRateInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -88,14 +85,14 @@ const TaxRateInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='taxRate' type='taxRate'
pageName='info' pageName='info'
id={taxRateId} id={taxRateId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -220,7 +217,7 @@ const TaxRateInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={taxRateId} type='taxRate' /> <NotesPanel _id={taxRateId} type='taxRate' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -239,7 +236,10 @@ const TaxRateInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('taxRate').prefix + ':' + taxRateId parent:
getModelByName('taxRate').prefix +
':' +
taxRateId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -80,14 +80,14 @@ const UserGroupInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
@ -243,7 +243,7 @@ const UserGroupInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={userGroupId} type='userGroup' /> <NotesPanel _id={userGroupId} type='userGroup' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>

View File

@ -86,7 +86,7 @@ const UserInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
@ -264,7 +264,7 @@ const UserInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={userId} type='user' /> <NotesPanel _id={userId} type='user' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>

View File

@ -74,7 +74,7 @@ const VendorInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -82,14 +82,14 @@ const VendorInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='vendor' type='vendor'
pageName='info' pageName='info'
id={vendorId} id={vendorId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -190,7 +190,7 @@ const VendorInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={vendorId} type='vendor' /> <NotesPanel _id={vendorId} type='vendor' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -209,7 +209,10 @@ const VendorInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('vendor').prefix + ':' + vendorId parent:
getModelByName('vendor').prefix +
':' +
vendorId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -111,14 +111,14 @@ const FilamentProfileInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef.current?.handleUpdate?.() objectFormRef.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify='space-between'> <Flex justify='space-between'>
<Space size='small'> <Space size='small'>
@ -529,7 +529,7 @@ const FilamentProfileInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={filamentProfileId} type='filamentProfile' /> <NotesPanel _id={filamentProfileId} type='filamentProfile' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -547,10 +547,10 @@ const FilamentProfileInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('filamentProfile').prefix + getModelByName('filamentProfile').prefix +
':' + ':' +
filamentProfileId filamentProfileId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -25,10 +25,7 @@ import InfoCollapsePlaceholder from '../../common/InfoCollapsePlaceholder.jsx'
import InfoActionButtons from '../../common/InfoActionButtons.jsx' import InfoActionButtons from '../../common/InfoActionButtons.jsx'
import UserNotifierToggle from '../../common/UserNotifierToggle.jsx' import UserNotifierToggle from '../../common/UserNotifierToggle.jsx'
import ScrollBox from '../../common/ScrollBox.jsx' import ScrollBox from '../../common/ScrollBox.jsx'
import { import { getModelProperty, getModelByName } from '../../../../database/ObjectModels.js'
getModelProperty,
getModelByName
} from '../../../../database/ObjectModels.js'
import PartIcon from '../../../Icons/PartIcon.jsx' import PartIcon from '../../../Icons/PartIcon.jsx'
const log = loglevel.getLogger('GCodeFileInfo') const log = loglevel.getLogger('GCodeFileInfo')
@ -94,7 +91,6 @@ const GCodeFileInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -103,7 +99,7 @@ const GCodeFileInfo = () => {
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='gcodeFile' type='gcodeFile'
pageName='info' pageName='info'
id={gcodeFileId} id={gcodeFileId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -234,7 +230,7 @@ const GCodeFileInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={gcodeFileId} type='gcodeFile' /> <NotesPanel _id={gcodeFileId} type='gcodeFile' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -254,8 +250,10 @@ const GCodeFileInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('gcodeFile').prefix + ':' + gcodeFileId getModelByName('gcodeFile').prefix +
':' +
gcodeFileId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -97,7 +97,6 @@ const JobInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -225,7 +224,7 @@ const JobInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={jobId} type='job' /> <NotesPanel _id={jobId} type='job' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -243,7 +242,10 @@ const JobInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('job').prefix + ':' + jobId parent:
getModelByName('job').prefix +
':' +
jobId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -27,10 +27,7 @@ import UserNotifierToggle from '../../common/UserNotifierToggle'
import ViewButton from '../../common/ViewButton' import ViewButton from '../../common/ViewButton'
import useCollapseState from '../../hooks/useCollapseState' import useCollapseState from '../../hooks/useCollapseState'
import ObjectProperty from '../../common/ObjectProperty' import ObjectProperty from '../../common/ObjectProperty'
import { import { getModelProperty, getModelByName } from '../../../../database/ObjectModels'
getModelProperty,
getModelByName
} from '../../../../database/ObjectModels'
import GCodeFileIcon from '../../../Icons/GCodeFileIcon' import GCodeFileIcon from '../../../Icons/GCodeFileIcon'
import SettingsIcon from '../../../Icons/SettingsIcon' import SettingsIcon from '../../../Icons/SettingsIcon'
import ExclamationOctagonIcon from '../../../Icons/ExclamationOctagonIcon' import ExclamationOctagonIcon from '../../../Icons/ExclamationOctagonIcon'
@ -92,14 +89,14 @@ const PrinterProfileInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef.current?.handleUpdate?.() objectFormRef.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify='space-between'> <Flex justify='space-between'>
<Space size='small'> <Space size='small'>
@ -383,7 +380,7 @@ const PrinterProfileInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={printerProfileId} type='printerProfile' /> <NotesPanel _id={printerProfileId} type='printerProfile' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -401,10 +398,10 @@ const PrinterProfileInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('printerProfile').prefix + getModelByName('printerProfile').prefix +
':' + ':' +
printerProfileId printerProfileId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -98,7 +98,6 @@ const PrinterInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -224,9 +223,7 @@ const PrinterInfo = () => {
<ObjectTable <ObjectTable
ref={profilesTableRef} ref={profilesTableRef}
type='printerProfile' type='printerProfile'
masterFilter={{ masterFilter={{ printer: getModelByName('printer').prefix + ':' + printerId }}
printer: getModelByName('printer').prefix + ':' + printerId
}}
visibleColumns={{ visibleColumns={{
printer: false, printer: false,
'printer._id': false 'printer._id': false
@ -247,7 +244,7 @@ const PrinterInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={printerId} type='printer' /> <NotesPanel _id={printerId} type='printer' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -265,7 +262,10 @@ const PrinterInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('printer').prefix + ':' + printerId parent:
getModelByName('printer').prefix +
':' +
printerId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -77,14 +77,14 @@ const SubJobInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='subJob' type='subJob'
pageName='info' pageName='info'
id={subJobId} id={subJobId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -183,9 +183,7 @@ const SubJobInfo = () => {
) : ( ) : (
<ObjectTable <ObjectTable
type='stockEvent' type='stockEvent'
masterFilter={{ masterFilter={{ owner: getModelByName('subJob').prefix + ':' + subJobId }}
owner: getModelByName('subJob').prefix + ':' + subJobId
}}
visibleColumns={{ visibleColumns={{
owner: false, owner: false,
'owner.type': false 'owner.type': false
@ -205,7 +203,7 @@ const SubJobInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={subJobId} type='subJob' /> <NotesPanel _id={subJobId} type='subJob' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -224,7 +222,10 @@ const SubJobInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('subJob').prefix + ':' + subJobId parent:
getModelByName('subJob').prefix +
':' +
subJobId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -74,7 +74,7 @@ const ClientInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -82,14 +82,14 @@ const ClientInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
<Space size='small'> <Space size='small'>
<ObjectActions <ObjectActions
type='client' type='client'
pageName='info' pageName='info'
id={clientId} id={clientId}
disabled={objectFormState.loading} disabled={objectFormState.loading}
objectData={objectFormState.objectData} objectData={objectFormState.objectData}
@ -190,7 +190,7 @@ const ClientInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={clientId} type='client' /> <NotesPanel _id={clientId} type='client' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -209,7 +209,10 @@ const ClientInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: getModelByName('client').prefix + ':' + clientId parent:
getModelByName('client').prefix +
':' +
clientId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -93,7 +93,7 @@ const FulfillmentPolicyInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>

View File

@ -96,14 +96,14 @@ const ListingVarientInfo = () => {
finishEdit: () => { finishEdit: () => {
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>
@ -256,7 +256,7 @@ const ListingVarientInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={listingVarientId} type='listingVarient' /> <NotesPanel _id={listingVarientId} type='listingVarient' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>

View File

@ -101,7 +101,7 @@ const ListingInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>

View File

@ -162,7 +162,7 @@ const MarketplaceInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>

View File

@ -93,7 +93,7 @@ const ReturnPolicyInfo = () => {
<Flex <Flex
gap='large' gap='large'
vertical='true' vertical='true'
style={{ maxHeight: '100%', height: '100%', minHeight: 0 }} style={{ maxHeight: '100%', minHeight: 0 }}
> >
<Flex justify={'space-between'}> <Flex justify={'space-between'}>
<Space size='small'> <Space size='small'>

View File

@ -100,7 +100,7 @@ const SalesOrderInfo = () => {
orderItemsTableRef?.current?.handleUpdate?.() orderItemsTableRef?.current?.handleUpdate?.()
objectFormRef?.current?.handleUpdate?.() objectFormRef?.current?.handleUpdate?.()
return true return true
} },
} }
return ( return (
@ -109,7 +109,6 @@ const SalesOrderInfo = () => {
vertical='true' vertical='true'
style={{ style={{
maxHeight: '100%', maxHeight: '100%',
height: '100%',
minHeight: 0 minHeight: 0
}} }}
> >
@ -229,10 +228,7 @@ const SalesOrderInfo = () => {
<ObjectTable <ObjectTable
type='orderItem' type='orderItem'
masterFilter={{ masterFilter={{
order: order: getModelByName('salesOrder').prefix + ':' + salesOrderId,
getModelByName('salesOrder').prefix +
':' +
salesOrderId,
orderType: 'salesOrder' orderType: 'salesOrder'
}} }}
visibleColumns={{ order: false }} visibleColumns={{ order: false }}
@ -251,10 +247,7 @@ const SalesOrderInfo = () => {
<ObjectTable <ObjectTable
type='shipment' type='shipment'
masterFilter={{ masterFilter={{
order: order: getModelByName('salesOrder').prefix + ':' + salesOrderId,
getModelByName('salesOrder').prefix +
':' +
salesOrderId,
orderType: 'salesOrder' orderType: 'salesOrder'
}} }}
visibleColumns={{ order: false }} visibleColumns={{ order: false }}
@ -276,10 +269,7 @@ const SalesOrderInfo = () => {
<ObjectTable <ObjectTable
type='invoice' type='invoice'
masterFilter={{ masterFilter={{
order: order: getModelByName('salesOrder').prefix + ':' + salesOrderId,
getModelByName('salesOrder').prefix +
':' +
salesOrderId,
orderType: 'salesOrder' orderType: 'salesOrder'
}} }}
visibleColumns={{ order: false }} visibleColumns={{ order: false }}
@ -301,10 +291,7 @@ const SalesOrderInfo = () => {
<ObjectTable <ObjectTable
type='stockEvent' type='stockEvent'
masterFilter={{ masterFilter={{
owner: owner: getModelByName('salesOrder').prefix + ':' + salesOrderId
getModelByName('salesOrder').prefix +
':' +
salesOrderId
}} }}
/> />
)} )}
@ -325,7 +312,7 @@ const SalesOrderInfo = () => {
indicator={<LoadingOutlined />} indicator={<LoadingOutlined />}
> >
<Card> <Card>
<NotesPanel _id={salesOrderId} type='salesOrder' /> <NotesPanel _id={salesOrderId} type='salesOrder' />
</Card> </Card>
</Spin> </Spin>
</InfoCollapse> </InfoCollapse>
@ -342,8 +329,10 @@ const SalesOrderInfo = () => {
<ObjectTable <ObjectTable
type='auditLog' type='auditLog'
masterFilter={{ masterFilter={{
parent: parent:
getModelByName('salesOrder').prefix + ':' + salesOrderId getModelByName('salesOrder').prefix +
':' +
salesOrderId
}} }}
visibleColumns={{ _id: false, parent: false }} visibleColumns={{ _id: false, parent: false }}
/> />

View File

@ -86,40 +86,19 @@ const NAV_BADGE_STYLE = { padding: 0, fontWeight: 600 }
const NAV_UPDATE_TAG_STYLE = { cursor: 'pointer', margin: '2px 0 0 0' } const NAV_UPDATE_TAG_STYLE = { cursor: 'pointer', margin: '2px 0 0 0' }
const NAV_OVERFLOW_BUTTON_STYLE = { marginBottom: '4px' } const NAV_OVERFLOW_BUTTON_STYLE = { marginBottom: '4px' }
const NAV_FADE_MS = 200
const navigationFadeClass = (visible) => const navigationFadeClass = (visible) =>
`dashboard-navigation-fade${visible ? '' : ' dashboard-navigation-fade-hidden'}` `dashboard-navigation-fade${visible ? '' : ' dashboard-navigation-fade-hidden'}`
const useDelayedInactive = (visible) => {
const [inactive, setInactive] = useState(!visible)
useEffect(() => {
if (visible) {
setInactive(false)
return undefined
}
const timeoutId = window.setTimeout(() => setInactive(true), NAV_FADE_MS)
return () => window.clearTimeout(timeoutId)
}, [visible])
return inactive
}
const NavigationFade = memo(function NavigationFade({ const NavigationFade = memo(function NavigationFade({
visible, visible,
children, children,
style, style
className
}) { }) {
const inactive = useDelayedInactive(visible)
return ( return (
<div <div
className={classNames(navigationFadeClass(visible), className)} className={navigationFadeClass(visible)}
inert={inactive ? true : undefined} inert={visible ? undefined : true}
aria-hidden={inactive ? true : undefined} aria-hidden={visible ? undefined : true}
style={style} style={style}
> >
{children} {children}
@ -130,8 +109,7 @@ const NavigationFade = memo(function NavigationFade({
NavigationFade.propTypes = { NavigationFade.propTypes = {
visible: PropTypes.bool, visible: PropTypes.bool,
children: PropTypes.node, children: PropTypes.node,
style: PropTypes.object, style: PropTypes.object
className: PropTypes.string
} }
const DashboardNavigationTrailingItems = memo( const DashboardNavigationTrailingItems = memo(
@ -268,17 +246,13 @@ DashboardElectronCenterItems.propTypes = {
const DashboardNavigationTrailing = memo(function DashboardNavigationTrailing({ const DashboardNavigationTrailing = memo(function DashboardNavigationTrailing({
showControls, showControls,
isOtherApp, isOtherApp,
isElectron,
...itemProps ...itemProps
}) { }) {
return ( return (
<> <>
<div className='electrobun-webkit-app-region-no-drag'> <div className='electrobun-webkit-app-region-no-drag'>
<NavigationFade visible={!isElectron || showControls}> <NavigationFade visible={showControls}>
<DashboardNavigationTrailingItems <DashboardNavigationTrailingItems {...itemProps} />
isElectron={isElectron}
{...itemProps}
/>
</NavigationFade> </NavigationFade>
</div> </div>
{isOtherApp ? <DashboardWindowButtons /> : null} {isOtherApp ? <DashboardWindowButtons /> : null}
@ -496,11 +470,6 @@ const DashboardNavigation = () => {
const showMobileLogo = !isElectron && isMobile const showMobileLogo = !isElectron && isMobile
useEffect(() => { useEffect(() => {
if (!isElectron) {
setAnyModalVisible(false)
return
}
const isModalWrapVisible = (node) => { const isModalWrapVisible = (node) => {
if (!(node instanceof Element)) return false if (!(node instanceof Element)) return false
if (node.getAttribute('aria-hidden') === 'true') return false if (node.getAttribute('aria-hidden') === 'true') return false
@ -539,7 +508,7 @@ const DashboardNavigation = () => {
observer.disconnect() observer.disconnect()
if (frameId) window.cancelAnimationFrame(frameId) if (frameId) window.cancelAnimationFrame(frameId)
} }
}, [isElectron]) }, [])
const controlsReady = !isElectron || authenticated const controlsReady = !isElectron || authenticated
const showControls = controlsReady && !anyModalVisible const showControls = controlsReady && !anyModalVisible
@ -649,15 +618,16 @@ const DashboardNavigation = () => {
</> </>
) )
const showWindowTitle = isElectron && !showControls
const windowTitle = ( const windowTitle = (
<NavigationFade <div
visible={showWindowTitle} className={`dashboard-navigation-window-title ${navigationFadeClass(
className='dashboard-navigation-window-title' !showControls
)}`}
aria-hidden={showControls}
inert={showControls ? true : undefined}
> >
<Text type='secondary'>Farm Control</Text> <Text type='secondary'>Farm Control</Text>
</NavigationFade> </div>
) )
const navigationCenterBorder = ( const navigationCenterBorder = (
@ -674,11 +644,12 @@ const DashboardNavigation = () => {
{navigationLeading} {navigationLeading}
<div className='dashboard-navigation-center'> <div className='dashboard-navigation-center'>
{!isMobile ? ( {!isMobile ? (
<NavigationFade visible style={NAV_CENTER_FADE_STYLE}> <NavigationFade visible={showControls} style={NAV_CENTER_FADE_STYLE}>
{menu} {menu}
</NavigationFade> </NavigationFade>
) : null} ) : null}
{windowTitle} {windowTitle}
{navigationCenterBorder}
</div> </div>
{navigationTrailing} {navigationTrailing}
</Flex> </Flex>