From 2aa914ea4a77da9b77df2944037183331e8b944c Mon Sep 17 00:00:00 2001 From: Sergey Yarkov Date: Sat, 13 Jun 2020 18:03:57 +0300 Subject: [PATCH] restore dialog --- .../Dialogs/Todo/DeleteTodoDialog.js | 2 +- .../Todo/DeleteTodoСompletelyDialog.js | 2 +- .../Dialogs/Todo/RestoreTodoDialog.js | 44 +++++++++++++++++++ client/src/components/Todos/Todos.js | 25 +++++++++-- 4 files changed, 68 insertions(+), 5 deletions(-) create mode 100644 client/src/components/Dialogs/Todo/RestoreTodoDialog.js diff --git a/client/src/components/Dialogs/Todo/DeleteTodoDialog.js b/client/src/components/Dialogs/Todo/DeleteTodoDialog.js index 5d28270..162cdee 100644 --- a/client/src/components/Dialogs/Todo/DeleteTodoDialog.js +++ b/client/src/components/Dialogs/Todo/DeleteTodoDialog.js @@ -31,7 +31,7 @@ const DeleteTodoDialog = ({ isOpenDialog, handleCloseDialog, selectedTodo }) => - diff --git a/client/src/components/Dialogs/Todo/DeleteTodoСompletelyDialog.js b/client/src/components/Dialogs/Todo/DeleteTodoСompletelyDialog.js index bad6bc0..54f46b1 100644 --- a/client/src/components/Dialogs/Todo/DeleteTodoСompletelyDialog.js +++ b/client/src/components/Dialogs/Todo/DeleteTodoСompletelyDialog.js @@ -31,7 +31,7 @@ const DeleteTodoСompletelyDialog = ({ isOpenDialog, handleCloseDialog, selected - diff --git a/client/src/components/Dialogs/Todo/RestoreTodoDialog.js b/client/src/components/Dialogs/Todo/RestoreTodoDialog.js new file mode 100644 index 0000000..1af8ee7 --- /dev/null +++ b/client/src/components/Dialogs/Todo/RestoreTodoDialog.js @@ -0,0 +1,44 @@ +import React from 'react'; +import useStyles from '../styles' +import { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@material-ui/core' + +import RestoreIcon from '@material-ui/icons/Restore'; + +const DeleteTodoDialog = ({ isOpenDialog, handleCloseDialog, selectedTodo }) => { + const classes = useStyles() + const handleClickDelete = () => { + console.log('Request on restore todo:', selectedTodo.id, selectedTodo.title) + handleCloseDialog() + } + + return ( + <> + + + + Восстановить запись? + + + + Запись будет восстановлена в прежнее состояние. + + + + + + + + + ) +} + +export default DeleteTodoDialog \ No newline at end of file diff --git a/client/src/components/Todos/Todos.js b/client/src/components/Todos/Todos.js index 3313df8..28618f7 100644 --- a/client/src/components/Todos/Todos.js +++ b/client/src/components/Todos/Todos.js @@ -2,6 +2,7 @@ import React from 'react'; import UpdateTodoModal from '../Modals/Todo/UpdateTodoModal' import DeleteTodoDialog from '../Dialogs/Todo/DeleteTodoDialog' import DeleteTodoСompletelyDialog from '../Dialogs/Todo/DeleteTodoСompletelyDialog' +import RestoreTodoDialog from '../Dialogs/Todo/RestoreTodoDialog' import { Card, CardActions, CardContent, Typography, Grid, IconButton, makeStyles } from '@material-ui/core' import RestoreIcon from '@material-ui/icons/Restore'; @@ -49,14 +50,18 @@ const Todos = ({ data, fromTrashContainer }) => { }) const [isModalOpen, setIsModalOpen] = React.useState(false) const [isOpenDialog, setIsOpenDialog] = React.useState(false); + const [isOpenRestoreDialog, setIsOpenRestoreDialog] = React.useState(false) + const handleOpenModal = todo => { - setSelectedTodo({ + const selectedTodo = { id: todo._id.$oid, title: todo.title, description: todo.description, category: todo.categoryId, deadline: todo.deadline - }) + } + + setSelectedTodo(selectedTodo) setIsModalOpen(true) } const handleCloseModal = () => setIsModalOpen(false) @@ -73,11 +78,25 @@ const Todos = ({ data, fromTrashContainer }) => { } const handleCloseDialog = () => setIsOpenDialog(false) + const handleOpenRestoreDialog = todo => { + setSelectedTodo({ + id: todo._id.$oid, + title: todo.title, + description: todo.description, + category: todo.categoryId, + deadline: todo.deadline + }) + setIsOpenRestoreDialog(true) + } + + const handleCloseRestoreDialog = () => setIsOpenRestoreDialog(false) + return ( <> {!fromTrashContainer ? : null} {!fromTrashContainer ? : null} {fromTrashContainer ? : null} + {fromTrashContainer ? : null} {data.map((todo, i) => @@ -101,7 +120,7 @@ const Todos = ({ data, fromTrashContainer }) => { ? handleOpenModal(todo)} aria-label="update"> - : + : handleOpenRestoreDialog(todo)} aria-label="restore"> }