From 76abfb5fd3b8d36fd0103e8801b4d44c60bf6a0f Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Tue, 28 Oct 2025 12:21:25 +0530 Subject: [PATCH] Addting Active and In-active switch button. --- src/hooks/masterHook/useMaster.js | 32 +++++----------- src/pages/master/MasterPage.jsx | 61 +++++++++++++++++++++---------- src/pages/master/MasterTable.jsx | 22 +++++------ 3 files changed, 61 insertions(+), 54 deletions(-) diff --git a/src/hooks/masterHook/useMaster.js b/src/hooks/masterHook/useMaster.js index 115f6045..76f0db91 100644 --- a/src/hooks/masterHook/useMaster.js +++ b/src/hooks/masterHook/useMaster.js @@ -25,20 +25,6 @@ export const useServices = () => { }); }; - -export const useRequisitionStatus = (isActive) => { - return useQuery({ - queryKey: ["requisitionStatus",isActive], - queryFn: async () => await MasterRespository.getRequisitionStatus(isActive), - }); -}; -export const usePurchaseOrderStatus = (isActive) => { - return useQuery({ - queryKey: ["purchaseOrderStatus",isActive], - queryFn: async () => await MasterRespository.getPurchaseOrderStatus(isActive), - }); -}; - export const useGroups = (serviceId) => { return useQuery({ queryKey: ["groups", serviceId], @@ -291,7 +277,7 @@ export const useOrganizationType = () => { }; // ===Application Masters Query================================================= -const fetchMasterData = async (masterType) => { +const fetchMasterData = async (masterType,isActiveMaster) => { switch (masterType) { case "Application Role": return (await MasterRespository.getRoles()).data; @@ -320,9 +306,9 @@ const fetchMasterData = async (masterType) => { case "Payment Adjustment Head": return (await MasterRespository.getPaymentAdjustmentHead(true)).data; case "Requisition Status": - return (await MasterRespository.getRequisitionStatus()).data; + return (await MasterRespository.getRequisitionStatus(isActiveMaster)).data; case "Purchase Order Status": - return (await MasterRespository.getPurchaseOrderStatus()).data; + return (await MasterRespository.getPurchaseOrderStatus(isActiveMaster)).data; case "Status": return [ { @@ -349,20 +335,20 @@ const fetchMasterData = async (masterType) => { } }; -const useMaster = () => { +const useMaster = (isActiveMaster) => { const selectedMaster = useSelector( (store) => store.localVariables.selectedMaster ); - const queryFn = useCallback( - () => fetchMasterData(selectedMaster), - [selectedMaster] + const queryFn = useCallback( + () => fetchMasterData(selectedMaster, isActiveMaster), + [selectedMaster, isActiveMaster] ); const { data = [], isLoading, error, } = useQuery({ - queryKey: ["masterData", selectedMaster], + queryKey: ["masterData", selectedMaster,isActiveMaster], queryFn, enabled: !!selectedMaster, staleTime: 1000 * 60 * 10, @@ -379,7 +365,6 @@ const useMaster = () => { return { data, loading: isLoading, error }; }; - export default useMaster; // ================================Mutation==================================== @@ -1150,6 +1135,7 @@ export const useUpdatePurchaseOrderStatus = (onSuccessCallback) => { // ====================x=x====================x=x================================== + // --------Delete Master -------- export const useDeleteMasterItem = () => { const queryClient = useQueryClient(); diff --git a/src/pages/master/MasterPage.jsx b/src/pages/master/MasterPage.jsx index 31f14da4..978e8153 100644 --- a/src/pages/master/MasterPage.jsx +++ b/src/pages/master/MasterPage.jsx @@ -33,6 +33,7 @@ const MasterPage = () => { (store) => store.localVariables.selectedMaster ); const hasMasterPermission = useHasUserPermission(MANAGE_MASTER); + const [isActiveMaster, setIsActiveMaster] = useState(true); const { data: menuData, @@ -44,11 +45,11 @@ const MasterPage = () => { data: masterData = [], loading, isError: isMasterError, - } = useMaster(); + } = useMaster(isActiveMaster); const { mutate: DeleteMaster, isPending: isDeleting } = useDeleteMasterItem(); - const [isDeleletingServiceItem,setDeleletingServiceItem] = useState({isOpen:false,ItemId:null,whichItem:null}) - const {mutate:DeleteSericeGroup,isPending:deletingGroup} =useDeleteServiceGroup() - const {mutate:DeleteAcivity,isPending:deletingActivity} = useDeleteActivity() + const [isDeleletingServiceItem, setDeleletingServiceItem] = useState({ isOpen: false, ItemId: null, whichItem: null }) + const { mutate: DeleteSericeGroup, isPending: deletingGroup } = useDeleteServiceGroup() + const { mutate: DeleteAcivity, isPending: deletingActivity } = useDeleteActivity() const [modalConfig, setModalConfig] = useState(null); const [deleteData, setDeleteData] = useState(null); @@ -89,15 +90,15 @@ const MasterPage = () => { }; - const handleDeleteServiceItem =()=>{ - if(!isDeleletingServiceItem.ItemId) return + const handleDeleteServiceItem = () => { + if (!isDeleletingServiceItem.ItemId) return debugger - if(isDeleletingServiceItem.whichItem === "activity"){ - DeleteAcivity(isDeleletingServiceItem.ItemId,{onSuccess:()=>setDeleletingServiceItem({isOpen:false,ItemId:null,whichItem:null})}) - }else{ - DeleteSericeGroup(isDeleletingServiceItem.ItemId,{onSuccess:()=>setDeleletingServiceItem({isOpen:false,ItemId:null,whichItem:null})}) + if (isDeleletingServiceItem.whichItem === "activity") { + DeleteAcivity(isDeleletingServiceItem.ItemId, { onSuccess: () => setDeleletingServiceItem({ isOpen: false, ItemId: null, whichItem: null }) }) + } else { + DeleteSericeGroup(isDeleletingServiceItem.ItemId, { onSuccess: () => setDeleletingServiceItem({ isOpen: false, ItemId: null, whichItem: null }) }) } - + } @@ -115,7 +116,7 @@ const MasterPage = () => { ); return ( - + {modalConfig && ( { /> )} - + { onSubmit={handleDeleteSubmit} onClose={() => setDeleteData(null)} /> - + setDeleletingServiceItem({isOpen:false,ItemId:null,whichItem:null})} + onSubmit={handleDeleteServiceItem} + onClose={() => setDeleletingServiceItem({ isOpen: false, ItemId: null, whichItem: null })} />
@@ -171,7 +172,7 @@ const MasterPage = () => {
setIsActiveMaster((prev) => !prev)} + /> + +
+ )} + {hasMasterPermission && ( )}
@@ -215,12 +237,13 @@ const MasterPage = () => { columns={columns} loading={loading} handleModalData={handleModalData} + isActiveMaster={isActiveMaster} /> -
+
); }; diff --git a/src/pages/master/MasterTable.jsx b/src/pages/master/MasterTable.jsx index cb5fe881..9df58d4a 100644 --- a/src/pages/master/MasterTable.jsx +++ b/src/pages/master/MasterTable.jsx @@ -4,7 +4,7 @@ import { useHasUserPermission } from "../../hooks/useHasUserPermission"; import { ITEMS_PER_PAGE, MANAGE_MASTER } from "../../utils/constants"; import showToast from "../../services/toastService"; -const MasterTable = ({ data, columns, loading, handleModalData }) => { +const MasterTable = ({ data, columns, loading, handleModalData,isActiveMaster }) => { const hasMasterPermission = useHasUserPermission(MANAGE_MASTER); const selectedMaster = useSelector( (store) => store.localVariables.selectedMaster @@ -92,14 +92,14 @@ const MasterTable = ({ data, columns, loading, handleModalData }) => { {" "} {selectedMaster === "Activity" ? "Activity" : "Name"} - + {" "} {selectedMaster === "Activity" ? "Unit" : selectedMaster === "Document Type" - ? "Content Type" - : "Description"} + ? "Content Type" + : "Description"} Actions @@ -117,7 +117,7 @@ const MasterTable = ({ data, columns, loading, handleModalData }) => { {col.key === "description" ? ( item[col.key] !== undefined && - item[col.key] !== null ? ( + item[col.key] !== null ? ( item[col.key].length > 80 ? ( <>{item[col.key].slice(0, 80)}... ) : ( @@ -137,7 +137,7 @@ const MasterTable = ({ data, columns, loading, handleModalData }) => { {(selectedMaster === "Application Role" || selectedMaster === "Work Category") && - item?.isSystem ? ( + item?.isSystem ? ( <>