diff --git a/web/src/components/RealtimeTable/hooks/useRealtimeData.js b/web/src/components/RealtimeTable/hooks/useRealtimeData.js index 303af97..0ba5217 100644 --- a/web/src/components/RealtimeTable/hooks/useRealtimeData.js +++ b/web/src/components/RealtimeTable/hooks/useRealtimeData.js @@ -218,7 +218,7 @@ const useRealtimeData = (formId, sheetName, direction, formType, year) => { } setData((prevData) => { let data = structuredClone(prevData); - if (prevData[0]?.row_type !== "ROOT") { + if (prevData[0]?.row_type !== "ROOT" && updates[0][0] === 'ROOT') { const newRowRoot = updates[0]; data = addRootRow(data, newRowRoot); } diff --git a/web/src/components/RealtimeTable/utils/cellUtils.js b/web/src/components/RealtimeTable/utils/cellUtils.js index 8e6170e..16f1d35 100644 --- a/web/src/components/RealtimeTable/utils/cellUtils.js +++ b/web/src/components/RealtimeTable/utils/cellUtils.js @@ -2,7 +2,7 @@ import { getDataRowId, getParentId } from './rowUtils'; export function setNewValueToData(data, colId, rowId, value) { let targetObject = data; - if (rowId && rowId.length) { + if (rowId?.length) { const indices = rowId.split('.').map(Number); for (let i = 0; i < indices.length; i++) { const index = indices[i]; @@ -213,7 +213,7 @@ export function deleteRow(data, lineId) { const row = rows[i]; const rowId = getDataRowId(row.data); - if (rowId == lineId) { + if (rowId === lineId) { rowDeleteSortOrder = row.sort_order; rows.splice(i, 1); i--; diff --git a/web/src/components/Stages/AddStagesModal.jsx b/web/src/components/Stages/AddStagesModal.jsx index 944674f..fdb7497 100644 --- a/web/src/components/Stages/AddStagesModal.jsx +++ b/web/src/components/Stages/AddStagesModal.jsx @@ -134,8 +134,6 @@ export const AddStagesModal = ({ } }; - const isFormValid = startDate && endDate && stageName.trim() && selectedSheet && selectedDirection; - if (!isOpen) return null; const stageStatus = stage ? getStageStatus(stage) : null; @@ -147,6 +145,8 @@ export const AddStagesModal = ({ const sheetObj = sheetOptions.find((s) => s.value === selectedSheet); const showDirectionSelect = sheetObj?.direction; + const isFormValid = startDate && endDate && stageName.trim() && selectedSheet && (selectedDirection || showDirectionSelect); + return (