diff --git a/src/components/Dashboard/Management/FilamentSkus/NewFilamentSku.jsx b/src/components/Dashboard/Management/FilamentSkus/NewFilamentSku.jsx index d2d1545..3b13260 100644 --- a/src/components/Dashboard/Management/FilamentSkus/NewFilamentSku.jsx +++ b/src/components/Dashboard/Management/FilamentSkus/NewFilamentSku.jsx @@ -8,7 +8,11 @@ const NewFilamentSku = ({ onOk, reset, defaultValues }) => { {({ handleSubmit, submitLoading, objectData, formValid }) => { const steps = [ @@ -19,7 +23,7 @@ const NewFilamentSku = ({ onOk, reset, defaultValues }) => { { cost: false, costWithTax: false, costTaxRate: false, + overrideCost: false, vendor: false }} /> ) }, { - title: 'Color & Cost', - key: 'colorCost', + title: 'Cost', + key: 'cost', content: ( { { _id: false, _reference: false }} - labelWidth={100} bordered={false} isEditing={false} + labelWidth={120} objectData={objectData} /> ) diff --git a/src/components/Dashboard/Management/Filaments/FilamentInfo.jsx b/src/components/Dashboard/Management/Filaments/FilamentInfo.jsx index 8a1a65b..f1a1dad 100644 --- a/src/components/Dashboard/Management/Filaments/FilamentInfo.jsx +++ b/src/components/Dashboard/Management/Filaments/FilamentInfo.jsx @@ -238,7 +238,7 @@ const FilamentInfo = () => { }} reset={newFilamentSkuOpen} defaultValues={{ - filament: filamentId ? { _id: filamentId } : undefined + filament: objectFormState?.objectData || undefined }} /> diff --git a/src/components/Dashboard/Management/Filaments/NewFilament.jsx b/src/components/Dashboard/Management/Filaments/NewFilament.jsx index 0bd6562..ddec6c5 100644 --- a/src/components/Dashboard/Management/Filaments/NewFilament.jsx +++ b/src/components/Dashboard/Management/Filaments/NewFilament.jsx @@ -18,7 +18,33 @@ const NewFilament = ({ onOk }) => { bordered={false} isEditing={true} required={true} + labelWidth={120} objectData={objectData} + visibleProperties={{ + cost: false, + costTaxRate: false, + costWithTax: false + }} + /> + ) + }, + { + title: 'Cost', + key: 'cost', + content: ( + ) }, @@ -32,6 +58,7 @@ const NewFilament = ({ onOk }) => { bordered={false} isEditing={true} required={false} + labelWidth={90} objectData={objectData} /> ) @@ -50,6 +77,7 @@ const NewFilament = ({ onOk }) => { createdAt: false, updatedAt: false }} + labelWidth={120} isEditing={false} objectData={objectData} /> diff --git a/src/components/Dashboard/Management/Parts/NewPart.jsx b/src/components/Dashboard/Management/Parts/NewPart.jsx index 2e125de..8322d06 100644 --- a/src/components/Dashboard/Management/Parts/NewPart.jsx +++ b/src/components/Dashboard/Management/Parts/NewPart.jsx @@ -26,6 +26,7 @@ const NewPart = ({ onOk, defaultValues }) => { isEditing={true} required={true} objectData={objectData} + labelWidth={70} visibleProperties={{ file: false, priceMode: false, @@ -51,6 +52,7 @@ const NewPart = ({ onOk, defaultValues }) => { isEditing={true} required={true} objectData={objectData} + labelWidth={120} visibleProperties={{ priceMode: true, margin: true, @@ -74,6 +76,7 @@ const NewPart = ({ onOk, defaultValues }) => { bordered={false} isEditing={true} required={false} + labelWidth={50} objectData={objectData} /> ) diff --git a/src/database/models/Filament.js b/src/database/models/Filament.js index db7a27e..5211d2c 100644 --- a/src/database/models/Filament.js +++ b/src/database/models/Filament.js @@ -88,7 +88,14 @@ export const Filament = { 'updatedAt' ], filters: ['_id', 'name', 'material', 'cost', 'costWithTax'], - sorters: ['name', 'createdAt', 'material', 'cost', 'costWithTax', 'updatedAt'], + sorters: [ + 'name', + 'createdAt', + 'material', + 'cost', + 'costWithTax', + 'updatedAt' + ], group: ['diameter', 'material'], properties: [ { @@ -168,7 +175,7 @@ export const Filament = { { name: 'cost', label: 'Cost', - required: false, + required: true, columnWidth: 100, type: 'number', prefix: '£', @@ -178,7 +185,7 @@ export const Filament = { { name: 'costWithTax', label: 'Cost w/ Tax', - required: false, + required: true, readOnly: true, type: 'number', prefix: '£', @@ -201,7 +208,7 @@ export const Filament = { { name: 'costTaxRate', label: 'Cost Tax Rate', - required: false, + required: true, type: 'object', objectType: 'taxRate', showHyperlink: true, diff --git a/src/database/models/FilamentSku.js b/src/database/models/FilamentSku.js index 3438359..91c79a3 100644 --- a/src/database/models/FilamentSku.js +++ b/src/database/models/FilamentSku.js @@ -170,36 +170,42 @@ export const FilamentSku = { { name: 'overrideCost', label: 'Override Cost', - required: false, + required: true, type: 'bool', - value: (objectData) => objectData?.overrideCost ?? false, columnWidth: 150 }, { name: 'cost', label: 'Cost', - required: false, + required: true, type: 'number', prefix: '£', min: 0, step: 0.01, - disabled: (objectData) => !objectData?.overrideCost, + visible: (objectData) => { + return objectData?.overrideCost + }, value: (objectData) => - objectData?.overrideCost ? objectData?.cost : undefined, + objectData?.overrideCost + ? objectData?.cost + : objectData?.filament?.cost, columnWidth: 100 }, { name: 'costWithTax', label: 'Cost w/ Tax', - required: false, + required: true, readOnly: true, type: 'number', prefix: '£', min: 0, step: 0.01, - disabled: (objectData) => !objectData?.overrideCost, + visible: (objectData) => { + return objectData?.overrideCost + }, value: (objectData) => { - if (!objectData?.overrideCost) return undefined + if (!objectData?.overrideCost) + return objectData?.filament?.costWithTax || undefined const cost = objectData?.cost const taxRate = objectData?.costTaxRate if (!cost) return 0 @@ -215,13 +221,17 @@ export const FilamentSku = { { name: 'costTaxRate', label: 'Cost Tax Rate', - required: false, + required: true, type: 'object', objectType: 'taxRate', showHyperlink: true, - disabled: (objectData) => !objectData?.overrideCost, + visible: (objectData) => { + return objectData?.overrideCost + }, value: (objectData) => - objectData?.overrideCost ? objectData?.costTaxRate : undefined, + objectData?.overrideCost + ? objectData?.costTaxRate + : objectData?.filament?.costTaxRate, columnWidth: 150 } ]