Compare commits
No commits in common. "f56646f906927243d2176200ebf8cf548155eb46" and "d9f3bb185fe3d95222c736ceb824403eff5cc093" have entirely different histories.
f56646f906
...
d9f3bb185f
@ -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 {
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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'>
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -109,7 +109,6 @@ const ProductStockInfo = () => {
|
|||||||
vertical='true'
|
vertical='true'
|
||||||
style={{
|
style={{
|
||||||
maxHeight: '100%',
|
maxHeight: '100%',
|
||||||
height: '100%',
|
|
||||||
minHeight: 0
|
minHeight: 0
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -96,7 +96,6 @@ const ShipmentInfo = () => {
|
|||||||
vertical='true'
|
vertical='true'
|
||||||
style={{
|
style={{
|
||||||
maxHeight: '100%',
|
maxHeight: '100%',
|
||||||
height: '100%',
|
|
||||||
minHeight: 0
|
minHeight: 0
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -91,7 +91,6 @@ const DocumentPrinterInfo = () => {
|
|||||||
vertical='true'
|
vertical='true'
|
||||||
style={{
|
style={{
|
||||||
maxHeight: '100%',
|
maxHeight: '100%',
|
||||||
height: '100%',
|
|
||||||
minHeight: 0
|
minHeight: 0
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -97,7 +97,6 @@ const DocumentTemplateInfo = () => {
|
|||||||
vertical='true'
|
vertical='true'
|
||||||
style={{
|
style={{
|
||||||
maxHeight: '100%',
|
maxHeight: '100%',
|
||||||
height: '100%',
|
|
||||||
minHeight: 0
|
minHeight: 0
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|||||||
@ -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'>
|
||||||
|
|||||||
@ -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'>
|
||||||
|
|||||||
@ -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'>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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'>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 ? (
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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'>
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
@ -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'>
|
||||||
|
|||||||
@ -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'>
|
||||||
|
|||||||
@ -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'>
|
||||||
|
|||||||
@ -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 }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@ -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>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user