From c014d6c9291564ce95c7d1a0d15702f44e6034ff Mon Sep 17 00:00:00 2001 From: pramod mahajan Date: Tue, 16 Sep 2025 12:07:42 +0530 Subject: [PATCH] handle delete bucket --- src/components/Directory/ManageBucket1.jsx | 29 +++++----- src/pages/Directory/DirectoryPage.jsx | 67 +++++++++++++++++----- 2 files changed, 69 insertions(+), 27 deletions(-) diff --git a/src/components/Directory/ManageBucket1.jsx b/src/components/Directory/ManageBucket1.jsx index 6a4daf34..8455765e 100644 --- a/src/components/Directory/ManageBucket1.jsx +++ b/src/components/Directory/ManageBucket1.jsx @@ -10,6 +10,7 @@ import BucketList from "./BucketList"; import BucketForm from "./BucketForm"; import AssignEmployees from "./AssignedBucket"; import AssignedBucket from "./AssignedBucket"; +import { useDirectoryContext } from "../../pages/Directory/DirectoryPage"; const ManageBucket1 = () => { const { data, isError, isLoading, error } = useBucketList(); @@ -17,18 +18,21 @@ const ManageBucket1 = () => { const [action, setAction] = useState(null); // "create" | "edit" | null const [selectedBucket, setSelectedBucket] = useState(null); const [searchTerm, setSearchTerm] = useState(""); + const { setContactOpen, setDeleteBucket } = useDirectoryContext(); - const handleClose = ()=>{ - setAction(null); + const handleClose = () => { + setAction(null); setSelectedBucket(null); - } + setDeleteId(null); + }; const { mutate: createBucket, isPending: creating } = useCreateBucket(() => { - handleClose() + handleClose(); }); const { mutate: updateBucket, isPending: updating } = useUpdateBucket(() => { - handleClose() + handleClose(); }); + const handleSubmit = (BucketPayload) => { if (selectedBucket) { updateBucket({ @@ -39,13 +43,13 @@ const ManageBucket1 = () => { }; - return (

Manage Buckets

- {action ? ( + + {action == "create" ? ( <> { isPending={creating || updating} /> {action === "edit" && selectedBucket && ( - + )} ) : ( @@ -84,11 +91,7 @@ const ManageBucket1 = () => { buckets={data} loading={isLoading} searchTerm={searchTerm} - onEdit={(bucket) => { - setSelectedBucket(bucket); - setAction("edit"); - }} - onDelete={(id) => console.log("delete", id)} + onDelete={(id) => setDeleteBucket({isOpen:true,bucketId:id})} /> )} diff --git a/src/pages/Directory/DirectoryPage.jsx b/src/pages/Directory/DirectoryPage.jsx index 35857b3e..38dd2f9b 100644 --- a/src/pages/Directory/DirectoryPage.jsx +++ b/src/pages/Directory/DirectoryPage.jsx @@ -8,7 +8,11 @@ import { } from "react"; import Breadcrumb from "../../components/common/Breadcrumb"; import { useFab } from "../../Context/FabContext"; -import { useBucketList, useBuckets } from "../../hooks/useDirectory"; +import { + useBucketList, + useBuckets, + useDeleteBucket, +} from "../../hooks/useDirectory"; import ManageBucket1 from "../../components/Directory/ManageBucket1"; import ManageContact from "../../components/Directory/ManageContact"; import BucketList from "../../components/Directory/BucketList"; @@ -16,6 +20,7 @@ import { MainDirectoryPageSkeleton } from "../../components/Directory/DirectoryP import ContactProfile from "../../components/Directory/ContactProfile"; import GlobalModel from "../../components/common/GlobalModel"; import { exportToCSV } from "../../utils/exportUtils"; +import ConfirmModal from "../../components/common/ConfirmModal"; const NotesPage = lazy(() => import("./NotesPage")); const ContactsPage = lazy(() => import("./ContactsPage")); @@ -44,6 +49,10 @@ export default function DirectoryPage({ IsPage = true, projectId = null }) { isOpen: false, contactId: null, }); + const [deleteBucket, setDeleteBucket] = useState({ + isOpen: false, + bucketId: null, + }); const [showActive, setShowActive] = useState(true); const [contactOpen, setContactOpen] = useState({ contact: null, @@ -100,20 +109,29 @@ export default function DirectoryPage({ IsPage = true, projectId = null }) { data, setManageContact, setContactOpen, + setDeleteBucket, }; + const { mutate: DeleteBucket, isPending: Deleting } = useDeleteBucket(() => { + setDeleteBucket({isOpen:false,bucketId:null}); + }); + const handleDelete = (bucketId) => { + DeleteBucket(bucketId); + }; if (isLoading) return ; if (isError) return
{error.message}
; return ( <>
- {IsPage && ()} + {IsPage && ( + + )} @@ -231,10 +249,18 @@ export default function DirectoryPage({ IsPage = true, projectId = null }) {
}> {activeTab === "notes" && ( - + )} {activeTab === "contacts" && ( - + )}
@@ -274,6 +300,19 @@ export default function DirectoryPage({ IsPage = true, projectId = null }) { /> )} + + {deleteBucket.isOpen && ( + setDeleteBucket({ isOpen: false, bucketId: null })} + loading={Deleting} + paramData={deleteBucket.bucketId} + /> + )}