Enhance FilamentStock, PartStock, and ProductStock Models with Disabled State Logic

- Added disabled state logic to FilamentStock, PartStock, and ProductStock models to prevent actions when the respective object data is not present.
- Improved return values in FilamentStock model to handle undefined cases for starting and current weights, ensuring robust data handling.
This commit is contained in:
Tom Butcher 2026-09-01 17:13:38 +01:00
parent 2feba8b3cc
commit 41825a23e5
3 changed files with 18 additions and 4 deletions

View File

@ -5,7 +5,8 @@ const FilamentStockInfo = lazy(
import('../../components/Dashboard/Inventory/FilamentStocks/FilamentStockInfo')
)
const NewFilamentStock = lazy(
() => import('../../components/Dashboard/Inventory/FilamentStocks/NewFilamentStock')
() =>
import('../../components/Dashboard/Inventory/FilamentStocks/NewFilamentStock')
)
import FilamentStockIcon from '../../components/Icons/FilamentStockIcon'
import PlusIcon from '../../components/Icons/PlusIcon'
@ -29,7 +30,11 @@ export const FilamentStock = {
label: 'New Filament Stock',
icon: PlusIcon,
content: (objectData, { onOk } = {}) => {
return createElement(NewFilamentStock, { defaultValues: objectData, onOk, reset: true })
return createElement(NewFilamentStock, {
defaultValues: objectData,
onOk,
reset: true
})
}
},
{
@ -142,6 +147,9 @@ export const FilamentStock = {
required: true,
showHyperlink: true,
columnWidth: 200,
disabled: (objectData) => {
return !objectData?.filament
},
masterFilter: (objectData) => {
return {
filament: objectData?.filament?._id
@ -167,9 +175,9 @@ export const FilamentStock = {
columnWidth: 300,
value: (objectData) => {
if (objectData?.state?.type === 'unconsumed') {
return objectData?.startingWeight
return objectData?.startingWeight || { net: 0, gross: 0 }
} else {
return objectData.currentWeight
return objectData?.currentWeight || { net: 0, gross: 0 }
}
}
},

View File

@ -232,6 +232,9 @@ export const PartStock = {
required: true,
showHyperlink: true,
columnWidth: 200,
disabled: (objectData) => {
return !objectData?.part
},
masterFilter: (objectData) => {
return { part: objectData?.part?._id }
}

View File

@ -238,6 +238,9 @@ export const ProductStock = {
required: true,
showHyperlink: true,
columnWidth: 200,
disabled: (objectData) => {
return !objectData?.product
},
masterFilter: (objectData) => {
return { product: objectData?.product?._id }
}