From c90ebd8750c8de08357a60c5e0bc8ca480e00ec5 Mon Sep 17 00:00:00 2001 From: Gil Glick Date: Sat, 11 Jul 2026 12:33:35 -0400 Subject: [PATCH 1/2] bom bug fixed --- .../BOM/CopyBOM/CopyBOMProjectSection.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/frontend/src/pages/ProjectDetailPage/ProjectViewContainer/BOM/CopyBOM/CopyBOMProjectSection.tsx b/src/frontend/src/pages/ProjectDetailPage/ProjectViewContainer/BOM/CopyBOM/CopyBOMProjectSection.tsx index a53a4a9bf3..d3db2c845e 100644 --- a/src/frontend/src/pages/ProjectDetailPage/ProjectViewContainer/BOM/CopyBOM/CopyBOMProjectSection.tsx +++ b/src/frontend/src/pages/ProjectDetailPage/ProjectViewContainer/BOM/CopyBOM/CopyBOMProjectSection.tsx @@ -21,6 +21,7 @@ const columns: GridColDef[] = [ const CopyBOMProjectSection: React.FC = ({ selectedProject, onSelectionChange }) => { const [selectedMaterialIds, setSelectedMaterialIds] = useState([]); + const [isInitialized, setInitialization] = useState(false); const { data: materials, isLoading: isLoadingMaterials, @@ -36,12 +37,13 @@ const CopyBOMProjectSection: React.FC = ({ selectedP } = useGetAssembliesForWbsElement(selectedProject.wbsNum); useEffect(() => { - if (materials) { + if (materials && !isInitialized) { + setInitialization(true); const allIds = materials.map((m) => m.materialId); setSelectedMaterialIds(allIds); onSelectionChange(allIds); } - }, [materials, onSelectionChange]); + }, [materials, onSelectionChange, isInitialized]); if (isErrorMaterials) return ; if (isErrorAssemblies) return ; From aa0bad698e7a227975e4819597ef70c254fb1ef7 Mon Sep 17 00:00:00 2001 From: Gil Glick Date: Sat, 11 Jul 2026 12:41:37 -0400 Subject: [PATCH 2/2] removed unnecessary useEffect --- .../BOM/CopyBOM/CopyBOMProjectSection.tsx | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/frontend/src/pages/ProjectDetailPage/ProjectViewContainer/BOM/CopyBOM/CopyBOMProjectSection.tsx b/src/frontend/src/pages/ProjectDetailPage/ProjectViewContainer/BOM/CopyBOM/CopyBOMProjectSection.tsx index d3db2c845e..2348460c1c 100644 --- a/src/frontend/src/pages/ProjectDetailPage/ProjectViewContainer/BOM/CopyBOM/CopyBOMProjectSection.tsx +++ b/src/frontend/src/pages/ProjectDetailPage/ProjectViewContainer/BOM/CopyBOM/CopyBOMProjectSection.tsx @@ -1,4 +1,4 @@ -import React, { useEffect } from 'react'; +import React from 'react'; import { Typography } from '@mui/material'; import { DataGrid, GridColDef } from '@mui/x-data-grid'; import { useState } from 'react'; @@ -36,14 +36,12 @@ const CopyBOMProjectSection: React.FC = ({ selectedP error: assembliesError } = useGetAssembliesForWbsElement(selectedProject.wbsNum); - useEffect(() => { - if (materials && !isInitialized) { - setInitialization(true); - const allIds = materials.map((m) => m.materialId); - setSelectedMaterialIds(allIds); - onSelectionChange(allIds); - } - }, [materials, onSelectionChange, isInitialized]); + if (materials && !isInitialized) { + setInitialization(true); + const allIds = materials.map((m) => m.materialId); + setSelectedMaterialIds(allIds); + onSelectionChange(allIds); + } if (isErrorMaterials) return ; if (isErrorAssemblies) return ;