1
0
mirror of https://github.com/sasjs/server.git synced 2026-01-14 17:30:05 +00:00

chore: add delete confirmation modal and use it in permission component

This commit is contained in:
2022-07-19 22:48:22 +05:00
parent 08e0c61e0f
commit 721165ff12
2 changed files with 28 additions and 16 deletions

View File

@@ -18,22 +18,27 @@ const BootstrapDialog = styled(Dialog)(({ theme }) => ({
} }
})) }))
type DeleteModalProps = { type DeleteConfirmationModalProps = {
open: boolean open: boolean
setOpen: React.Dispatch<React.SetStateAction<boolean>> setOpen: React.Dispatch<React.SetStateAction<boolean>>
deletePermission: () => void message: string
_delete: () => void
} }
const DeleteModal = ({ open, setOpen, deletePermission }: DeleteModalProps) => { const DeleteConfirmationModal = ({
open,
setOpen,
message,
_delete
}: DeleteConfirmationModalProps) => {
return ( return (
<BootstrapDialog onClose={() => setOpen(false)} open={open}> <BootstrapDialog onClose={() => setOpen(false)} open={open}>
<DialogContent dividers> <DialogContent dividers>
<Typography gutterBottom> <Typography gutterBottom>{message}</Typography>
Are you sure you want to delete this permission?
</Typography>
</DialogContent> </DialogContent>
<DialogActions> <DialogActions>
<Button color="error" onClick={() => deletePermission()}> <Button onClick={() => setOpen(false)}>Cancel</Button>
<Button color="error" onClick={() => _delete()}>
Delete Delete
</Button> </Button>
</DialogActions> </DialogActions>
@@ -41,4 +46,4 @@ const DeleteModal = ({ open, setOpen, deletePermission }: DeleteModalProps) => {
) )
} }
export default DeleteModal export default DeleteConfirmationModal

View File

@@ -28,7 +28,7 @@ import Modal from '../../components/modal'
import PermissionFilterModal from './permissionFilterModal' import PermissionFilterModal from './permissionFilterModal'
import AddPermissionModal from './addPermissionModal' import AddPermissionModal from './addPermissionModal'
import UpdatePermissionModal from './updatePermissionModal' import UpdatePermissionModal from './updatePermissionModal'
import DeleteModal from './deletePermissionModal' import DeleteConfirmationModal from '../../components/deleteConfirmationModal'
import BootstrapSnackbar, { AlertSeverityType } from '../../components/snackbar' import BootstrapSnackbar, { AlertSeverityType } from '../../components/snackbar'
import { import {
@@ -61,7 +61,10 @@ const Permission = () => {
const [addPermissionModalOpen, setAddPermissionModalOpen] = useState(false) const [addPermissionModalOpen, setAddPermissionModalOpen] = useState(false)
const [updatePermissionModalOpen, setUpdatePermissionModalOpen] = const [updatePermissionModalOpen, setUpdatePermissionModalOpen] =
useState(false) useState(false)
const [deleteModalOpen, setDeleteModalOpen] = useState(false) const [deleteConfirmationModalOpen, setDeleteConfirmationModalOpen] =
useState(false)
const [deleteConfirmationModalMessage, setDeleteConfirmationModalMessage] =
useState('')
const [selectedPermission, setSelectedPermission] = const [selectedPermission, setSelectedPermission] =
useState<PermissionResponse>() useState<PermissionResponse>()
const [filterModalOpen, setFilterModalOpen] = useState(false) const [filterModalOpen, setFilterModalOpen] = useState(false)
@@ -236,11 +239,14 @@ const Permission = () => {
const handleDeletePermissionClick = (permission: PermissionResponse) => { const handleDeletePermissionClick = (permission: PermissionResponse) => {
setSelectedPermission(permission) setSelectedPermission(permission)
setDeleteModalOpen(true) setDeleteConfirmationModalOpen(true)
setDeleteConfirmationModalMessage(
'Are you sure you want to delete this permission?'
)
} }
const deletePermission = () => { const deletePermission = () => {
setDeleteModalOpen(false) setDeleteConfirmationModalOpen(false)
setIsLoading(true) setIsLoading(true)
axios axios
.delete(`/SASjsApi/permission/${selectedPermission?.permissionId}`) .delete(`/SASjsApi/permission/${selectedPermission?.permissionId}`)
@@ -338,10 +344,11 @@ const Permission = () => {
permission={selectedPermission} permission={selectedPermission}
updatePermission={updatePermission} updatePermission={updatePermission}
/> />
<DeleteModal <DeleteConfirmationModal
open={deleteModalOpen} open={deleteConfirmationModalOpen}
setOpen={setDeleteModalOpen} setOpen={setDeleteConfirmationModalOpen}
deletePermission={deletePermission} message={deleteConfirmationModalMessage}
_delete={deletePermission}
/> />
</Box> </Box>
) )