added delete functionality for each master
This commit is contained in:
parent
f76b524ded
commit
6c5b62eb40
@ -8,9 +8,39 @@ import EditJobRole from "./EditJobRole";
|
|||||||
import CreateActivity from "./CreateActivity";
|
import CreateActivity from "./CreateActivity";
|
||||||
import EditActivity from "./EditActivity";
|
import EditActivity from "./EditActivity";
|
||||||
import ConfirmModal from "../common/ConfirmModal";
|
import ConfirmModal from "../common/ConfirmModal";
|
||||||
|
import {MasterRespository} from "../../repositories/MastersRepository";
|
||||||
|
import {cacheData, getCachedData} from "../../slices/apiDataManager";
|
||||||
|
import showToast from "../../services/toastService";
|
||||||
|
|
||||||
|
|
||||||
const MasterModal = ({ modaldata, closeModal }) => {
|
const MasterModal = ({ modaldata, closeModal }) => {
|
||||||
const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);
|
const [ isDeleteModalOpen, setIsDeleteModalOpen ] = useState( false );
|
||||||
|
|
||||||
|
const handleSelectedMasterDeleted = async () =>
|
||||||
|
{
|
||||||
|
const deleteFn = MasterRespository[modaldata.masterType];
|
||||||
|
|
||||||
|
if (!deleteFn) {
|
||||||
|
showToast(`No delete strategy defined for master type`,"error");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
const response = await deleteFn( modaldata?.item?.id );
|
||||||
|
const selected_cachedData = getCachedData( modaldata?.masterType );
|
||||||
|
const updated_master = selected_cachedData?.filter(item => item.id !== modaldata?.item.id);
|
||||||
|
cacheData( modaldata?.masterType, updated_master )
|
||||||
|
|
||||||
|
showToast(`${modaldata?.masterType} is deleted successfully`, "success");
|
||||||
|
handleCloseDeleteModal()
|
||||||
|
|
||||||
|
} catch ( error )
|
||||||
|
{
|
||||||
|
const message = error.response.data.message || error.message || "Error occured api during call"
|
||||||
|
showToast(message, "success");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (modaldata?.modalType === "delete") {
|
if (modaldata?.modalType === "delete") {
|
||||||
@ -35,7 +65,8 @@ const MasterModal = ({ modaldata, closeModal }) => {
|
|||||||
<ConfirmModal
|
<ConfirmModal
|
||||||
type="delete"
|
type="delete"
|
||||||
header={`Delete ${modaldata.masterType}`}
|
header={`Delete ${modaldata.masterType}`}
|
||||||
message={"comming soon.."}
|
message={"Are you sure you want delete?"}
|
||||||
|
onSubmit={handleSelectedMasterDeleted}
|
||||||
onClose={handleCloseDeleteModal}
|
onClose={handleCloseDeleteModal}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user