added delete functionality for each master

This commit is contained in:
Pramod Mahajan 2025-05-08 18:23:27 +05:30
parent f76b524ded
commit 6c5b62eb40

View File

@ -8,10 +8,40 @@ 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") {
setIsDeleteModalOpen(true); setIsDeleteModalOpen(true);
@ -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>