From 8f369d777d249aa62f8da9a7350157964ec7c247 Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Sat, 20 Jun 2026 22:27:17 +0100 Subject: [PATCH] Fixed product SKUs. --- .../Management/ProductSkus/ProductSkuInfo.jsx | 138 +++++++++--------- .../Dashboard/common/ObjectChildTable.jsx | 1 + src/database/models/ProductSku.js | 17 ++- 3 files changed, 88 insertions(+), 68 deletions(-) diff --git a/src/components/Dashboard/Management/ProductSkus/ProductSkuInfo.jsx b/src/components/Dashboard/Management/ProductSkus/ProductSkuInfo.jsx index 448df47..28cc4cc 100644 --- a/src/components/Dashboard/Management/ProductSkus/ProductSkuInfo.jsx +++ b/src/components/Dashboard/Management/ProductSkus/ProductSkuInfo.jsx @@ -131,24 +131,26 @@ const ProductSkuInfo = () => { loading={objectFormState.loading} ref={actionHandlerRef} > - } - active={collapseState.info} - onToggle={(expanded) => updateCollapseState('info', expanded)} - collapseKey='info' + { + setEditFormState((prev) => ({ ...prev, ...state })) + }} > - { - setEditFormState((prev) => ({ ...prev, ...state })) - }} - > - {({ loading, isEditing, objectData }) => ( - <> + {({ loading, isEditing, objectData }) => ( + + } + active={collapseState.info} + onToggle={(expanded) => + updateCollapseState('info', expanded) + } + collapseKey='info' + > { parts: false }} /> - - )} - - + + } + active={collapseState.parts} + onToggle={(expanded) => + updateCollapseState('parts', expanded) + } + collapseKey='parts' + > + + + + )} + - } - active={collapseState.parts} - onToggle={(expanded) => updateCollapseState('parts', expanded)} - collapseKey='parts' - > - - - } - active={collapseState.notes} - onToggle={(expanded) => updateCollapseState('notes', expanded)} - collapseKey='notes' - > - - - - - } - active={collapseState.auditLogs} - onToggle={(expanded) => - updateCollapseState('auditLogs', expanded) - } - collapseKey='auditLogs' - > - {objectFormState.loading ? ( - - ) : ( - - )} - + + } + active={collapseState.notes} + onToggle={(expanded) => updateCollapseState('notes', expanded)} + collapseKey='notes' + > + + + + + } + active={collapseState.auditLogs} + onToggle={(expanded) => + updateCollapseState('auditLogs', expanded) + } + collapseKey='auditLogs' + > + {objectFormState.loading ? ( + + ) : ( + + )} + + diff --git a/src/components/Dashboard/common/ObjectChildTable.jsx b/src/components/Dashboard/common/ObjectChildTable.jsx index 96c0d10..6b80f1a 100644 --- a/src/components/Dashboard/common/ObjectChildTable.jsx +++ b/src/components/Dashboard/common/ObjectChildTable.jsx @@ -259,6 +259,7 @@ const ObjectChildTable = ({ const currentItems = Array.isArray(itemsSource) ? itemsSource : [] const newItems = [...currentItems, newItem] + console.log('newItems', newItems) if (typeof onChange === 'function') { onChange(newItems) } diff --git a/src/database/models/ProductSku.js b/src/database/models/ProductSku.js index 366b1d7..2f27c44 100644 --- a/src/database/models/ProductSku.js +++ b/src/database/models/ProductSku.js @@ -332,15 +332,28 @@ export const ProductSku = { name: 'parts', label: 'Parts', type: 'objectChildren', - objectType: 'partSku', + size: 'medium', properties: [ + { + name: 'part', + label: 'Part', + type: 'object', + objectType: 'part', + required: true, + showHyperlink: true + }, { name: 'partSku', label: 'Part SKU', type: 'object', objectType: 'partSku', required: true, - showHyperlink: true + showHyperlink: true, + masterFilter: (objectData) => { + const partId = objectData?.part?._id + if (partId == null) return {} + return { part: partId } + } }, { name: 'quantity',