From a7dd6660b5eddc777e946228734262e0c8604706 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Sun, 28 Jun 2026 00:36:21 +0000 Subject: [PATCH] Adjust more forms --- .../src/components/forms/fields/TableField.tsx | 1 - src/frontend/src/forms/BuildForms.tsx | 15 ++++++++++++--- .../src/tables/build/BuildOutputTable.tsx | 5 ++++- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/frontend/src/components/forms/fields/TableField.tsx b/src/frontend/src/components/forms/fields/TableField.tsx index a7e6936092..07ccce40d4 100644 --- a/src/frontend/src/components/forms/fields/TableField.tsx +++ b/src/frontend/src/components/forms/fields/TableField.tsx @@ -20,7 +20,6 @@ import { StandaloneField } from '../StandaloneField'; export interface TableFieldRowProps { item: any; - idx: number; rowId: string | number; rowErrors: any; changeFn: (idx: number | string, key: string, value: any) => void; diff --git a/src/frontend/src/forms/BuildForms.tsx b/src/frontend/src/forms/BuildForms.tsx index 34718738ac..29d56b4ef6 100644 --- a/src/frontend/src/forms/BuildForms.tsx +++ b/src/frontend/src/forms/BuildForms.tsx @@ -266,6 +266,12 @@ function BuildOutputFormRow({ record: any; withQuantityColumn?: boolean; }>) { + useWhyDidYouUpdate('BuildOutputFormRow', { + props, + record, + withQuantityColumn + }); + const stockItemColumn = useMemo(() => { if (record.serial) { return `# ${record.serial}`; @@ -327,7 +333,7 @@ function BuildOutputFormRow({ />{' '} - props.removeFn(props.idx)} /> + props.removeFn(props.rowId)} /> @@ -361,6 +367,7 @@ export function useCompleteBuildOutputsForm({ const buildOutputs = useMemo(() => { return outputs.map((output: any) => { return { + id: output.pk, output: output.pk, quantity: output.quantity }; @@ -375,7 +382,7 @@ export function useCompleteBuildOutputsForm({ modelRenderer: (row: TableFieldRowProps) => { const record = outputs.find((output) => output.pk == row.item.output); return ( - + ); }, headers: [ @@ -443,6 +450,7 @@ export function useScrapBuildOutputsForm({ const buildOutputs = useMemo(() => { return outputs.map((output: any) => { return { + id: output.pk, output: output.pk, quantity: output.quantity }; @@ -457,7 +465,7 @@ export function useScrapBuildOutputsForm({ modelRenderer: (row: TableFieldRowProps) => { const record = outputs.find((output) => output.pk == row.item.output); return ( - + ); }, headers: [ @@ -514,6 +522,7 @@ export function useCancelBuildOutputsForm({ const buildOutputs = useMemo(() => { return outputs.map((output: any) => { return { + id: output.pk, output: output.pk }; }); diff --git a/src/frontend/src/tables/build/BuildOutputTable.tsx b/src/frontend/src/tables/build/BuildOutputTable.tsx index 42d3cac02a..39f0a9456f 100644 --- a/src/frontend/src/tables/build/BuildOutputTable.tsx +++ b/src/frontend/src/tables/build/BuildOutputTable.tsx @@ -309,7 +309,10 @@ export default function BuildOutputTable({ allocated += allocation.quantity; }); - if (allocated >= item.bom_item_detail.quantity) { + if ( + item.bom_item_detail?.quantity && + allocated >= item.bom_item_detail.quantity + ) { fullyAllocatedCount += 1; } });