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:
@@ -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
|
||||||
@@ -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>
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user