From 7fcbe5e731e28dff6aa0bf25f07781a138ddf590 Mon Sep 17 00:00:00 2001 From: "MSI\\derek" Date: Mon, 20 Jan 2025 14:12:33 +0800 Subject: [PATCH] editStaff other modals --- .../EditStaff/GradeHistoryModal.tsx | 31 +++++++++++++++++-- .../EditStaff/PositionHistoryModal.tsx | 30 ++++++++++++++++-- src/components/EditStaff/TeamHistoryModal.tsx | 30 ++++++++++++++++-- 3 files changed, 85 insertions(+), 6 deletions(-) diff --git a/src/components/EditStaff/GradeHistoryModal.tsx b/src/components/EditStaff/GradeHistoryModal.tsx index 5322b39..7461708 100644 --- a/src/components/EditStaff/GradeHistoryModal.tsx +++ b/src/components/EditStaff/GradeHistoryModal.tsx @@ -9,6 +9,7 @@ import SaveIcon from '@mui/icons-material/Save'; import DeleteIcon from '@mui/icons-material/Delete'; import CancelIcon from '@mui/icons-material/Cancel'; import EditIcon from '@mui/icons-material/Edit'; +import waitForCondition from "../utils/waitFor"; interface Props { open: boolean; @@ -48,7 +49,33 @@ const GradeHistoryModal: React.FC = async ({ open, onClose, columns }) => const handleClose = () => { onClose(); }; - + + const looping = async () => { + for (let i = 0; i < _rows.length; i++) { + const id = _rows[i].id + setRowModesModel((prevRowModesModel) => ({ + ...prevRowModesModel, + [id]: { mode: GridRowModes.View } + })); + } + return true; + } + const handleSaveAll = async () => { + // trigger save all + console.log(_rows) + await waitForCondition(async () => { + return looping() + }) + console.log(rowModesModel) + }; + + const bigTesting = async () => { + await looping() + setTimeout(() => { + onClose() + }, 800) + } + const handleRowEditStop: GridEventListener<"rowEditStop"> = ( params, event, @@ -195,7 +222,7 @@ const GradeHistoryModal: React.FC = async ({ open, onClose, columns }) => - diff --git a/src/components/EditStaff/PositionHistoryModal.tsx b/src/components/EditStaff/PositionHistoryModal.tsx index afed708..659e5f3 100644 --- a/src/components/EditStaff/PositionHistoryModal.tsx +++ b/src/components/EditStaff/PositionHistoryModal.tsx @@ -9,6 +9,7 @@ import SaveIcon from '@mui/icons-material/Save'; import DeleteIcon from '@mui/icons-material/Delete'; import CancelIcon from '@mui/icons-material/Cancel'; import EditIcon from '@mui/icons-material/Edit'; +import waitForCondition from "../utils/waitFor"; interface Props { open: boolean; @@ -48,7 +49,32 @@ const PositionHistoryModal: React.FC = async ({ open, onClose, columns }) const handleClose = () => { onClose(); }; - + + const looping = async () => { + for (let i = 0; i < _rows.length; i++) { + const id = _rows[i].id + setRowModesModel((prevRowModesModel) => ({ + ...prevRowModesModel, + [id]: { mode: GridRowModes.View } + })); + } + return true; + } + const handleSaveAll = async () => { + // trigger save all + console.log(_rows) + await waitForCondition(async () => { + return looping() + }) + console.log(rowModesModel) + }; + + const bigTesting = async () => { + await looping() + setTimeout(() => { + onClose() + }, 800) + } const handleRowEditStop: GridEventListener<"rowEditStop"> = ( params, event, @@ -195,7 +221,7 @@ const PositionHistoryModal: React.FC = async ({ open, onClose, columns }) - diff --git a/src/components/EditStaff/TeamHistoryModal.tsx b/src/components/EditStaff/TeamHistoryModal.tsx index 30299e6..92e8888 100644 --- a/src/components/EditStaff/TeamHistoryModal.tsx +++ b/src/components/EditStaff/TeamHistoryModal.tsx @@ -9,6 +9,7 @@ import DeleteIcon from '@mui/icons-material/Delete'; import CancelIcon from '@mui/icons-material/Cancel'; import EditIcon from '@mui/icons-material/Edit'; import { useFormContext } from "react-hook-form"; +import waitForCondition from "../utils/waitFor"; interface Props { open: boolean; @@ -48,7 +49,32 @@ const TeamHistoryModal: React.FC = async ({ open, onClose, columns }) => const handleClose = () => { onClose(); }; - + + const looping = async () => { + for (let i = 0; i < _rows.length; i++) { + const id = _rows[i].id + setRowModesModel((prevRowModesModel) => ({ + ...prevRowModesModel, + [id]: { mode: GridRowModes.View } + })); + } + return true; + } + const handleSaveAll = async () => { + // trigger save all + console.log(_rows) + await waitForCondition(async () => { + return looping() + }) + console.log(rowModesModel) + }; + + const bigTesting = async () => { + await looping() + setTimeout(() => { + onClose() + }, 800) + } const handleRowEditStop: GridEventListener<"rowEditStop"> = ( params, event, @@ -196,7 +222,7 @@ const TeamHistoryModal: React.FC = async ({ open, onClose, columns }) => -