| @@ -9,6 +9,7 @@ import SaveIcon from '@mui/icons-material/Save'; | |||||
| import DeleteIcon from '@mui/icons-material/Delete'; | import DeleteIcon from '@mui/icons-material/Delete'; | ||||
| import CancelIcon from '@mui/icons-material/Cancel'; | import CancelIcon from '@mui/icons-material/Cancel'; | ||||
| import EditIcon from '@mui/icons-material/Edit'; | import EditIcon from '@mui/icons-material/Edit'; | ||||
| import waitForCondition from "../utils/waitFor"; | |||||
| interface Props { | interface Props { | ||||
| open: boolean; | open: boolean; | ||||
| @@ -48,7 +49,33 @@ const GradeHistoryModal: React.FC<Props> = async ({ open, onClose, columns }) => | |||||
| const handleClose = () => { | const handleClose = () => { | ||||
| onClose(); | 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"> = ( | const handleRowEditStop: GridEventListener<"rowEditStop"> = ( | ||||
| params, | params, | ||||
| event, | event, | ||||
| @@ -195,7 +222,7 @@ const GradeHistoryModal: React.FC<Props> = async ({ open, onClose, columns }) => | |||||
| <Button variant="text" onClick={handleClose}> | <Button variant="text" onClick={handleClose}> | ||||
| {t('Cancel')} | {t('Cancel')} | ||||
| </Button> | </Button> | ||||
| <Button variant="contained" onClick={handleClose}> | |||||
| <Button variant="contained" onClick={bigTesting}> | |||||
| {t("Save")} | {t("Save")} | ||||
| </Button> | </Button> | ||||
| </Box> | </Box> | ||||
| @@ -9,6 +9,7 @@ import SaveIcon from '@mui/icons-material/Save'; | |||||
| import DeleteIcon from '@mui/icons-material/Delete'; | import DeleteIcon from '@mui/icons-material/Delete'; | ||||
| import CancelIcon from '@mui/icons-material/Cancel'; | import CancelIcon from '@mui/icons-material/Cancel'; | ||||
| import EditIcon from '@mui/icons-material/Edit'; | import EditIcon from '@mui/icons-material/Edit'; | ||||
| import waitForCondition from "../utils/waitFor"; | |||||
| interface Props { | interface Props { | ||||
| open: boolean; | open: boolean; | ||||
| @@ -48,7 +49,32 @@ const PositionHistoryModal: React.FC<Props> = async ({ open, onClose, columns }) | |||||
| const handleClose = () => { | const handleClose = () => { | ||||
| onClose(); | 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"> = ( | const handleRowEditStop: GridEventListener<"rowEditStop"> = ( | ||||
| params, | params, | ||||
| event, | event, | ||||
| @@ -195,7 +221,7 @@ const PositionHistoryModal: React.FC<Props> = async ({ open, onClose, columns }) | |||||
| <Button variant="text" onClick={handleClose}> | <Button variant="text" onClick={handleClose}> | ||||
| {t('Cancel')} | {t('Cancel')} | ||||
| </Button> | </Button> | ||||
| <Button variant="contained" onClick={handleClose}> | |||||
| <Button variant="contained" onClick={bigTesting}> | |||||
| {t("Save")} | {t("Save")} | ||||
| </Button> | </Button> | ||||
| </Box> | </Box> | ||||
| @@ -9,6 +9,7 @@ import DeleteIcon from '@mui/icons-material/Delete'; | |||||
| import CancelIcon from '@mui/icons-material/Cancel'; | import CancelIcon from '@mui/icons-material/Cancel'; | ||||
| import EditIcon from '@mui/icons-material/Edit'; | import EditIcon from '@mui/icons-material/Edit'; | ||||
| import { useFormContext } from "react-hook-form"; | import { useFormContext } from "react-hook-form"; | ||||
| import waitForCondition from "../utils/waitFor"; | |||||
| interface Props { | interface Props { | ||||
| open: boolean; | open: boolean; | ||||
| @@ -48,7 +49,32 @@ const TeamHistoryModal: React.FC<Props> = async ({ open, onClose, columns }) => | |||||
| const handleClose = () => { | const handleClose = () => { | ||||
| onClose(); | 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"> = ( | const handleRowEditStop: GridEventListener<"rowEditStop"> = ( | ||||
| params, | params, | ||||
| event, | event, | ||||
| @@ -196,7 +222,7 @@ const TeamHistoryModal: React.FC<Props> = async ({ open, onClose, columns }) => | |||||
| <Button variant="text" onClick={handleClose}> | <Button variant="text" onClick={handleClose}> | ||||
| {t('Cancel')} | {t('Cancel')} | ||||
| </Button> | </Button> | ||||
| <Button variant="contained" onClick={handleClose}> | |||||
| <Button variant="contained" onClick={bigTesting}> | |||||
| {t("Save")} | {t("Save")} | ||||
| </Button> | </Button> | ||||
| </Box> | </Box> | ||||