diff --git a/src/components/pages/uniformity/UniformityTable.tsx b/src/components/pages/uniformity/UniformityTable.tsx index 8b826a50..52b98c91 100644 --- a/src/components/pages/uniformity/UniformityTable.tsx +++ b/src/components/pages/uniformity/UniformityTable.tsx @@ -165,7 +165,6 @@ const UniformityTable = ({ refresh }: { refresh?: () => void }) => { const [isBulkActionLoading, setIsBulkActionLoading] = useState(false); const singleDeleteModal = useModal(); - const bulkDeleteModal = useModal(); const successModal = useModal(); const singleApproveModal = useModal(); const singleRejectModal = useModal(); @@ -275,34 +274,18 @@ const UniformityTable = ({ refresh }: { refresh?: () => void }) => { } }, [selectedUniformity?.id, refreshUniformities, singleRejectModal]); - const handleBulkDelete = useCallback(() => { - bulkDeleteModal.openModal(); - }, [bulkDeleteModal]); - - const bulkDeleteHandler = useCallback(async () => { - setIsBulkActionLoading(true); - - try { - await UniformityApi.bulkDelete(selectedRowIds); - - setRowSelection({}); - refreshUniformities(); - - bulkDeleteModal.closeModal(); - toast.success( - `Successfully deleted ${selectedRowIds.length} Uniformity data!` - ); - } catch { - toast.error('Failed to delete Uniformity data'); - } finally { - setIsBulkActionLoading(false); - } - }, [selectedRowIds, refreshUniformities, bulkDeleteModal]); - const handleCloseFab = useCallback(() => { setRowSelection({}); }, []); + const handleDelete = useCallback(() => { + if (selectedRowIds.length === 1) { + const uniformity = selectedUniformities[0]; + setSelectedUniformity(uniformity); + singleDeleteModal.openModal(); + } + }, [selectedRowIds, selectedUniformities, singleDeleteModal]); + const handleBulkApprove = useCallback(() => { bulkApproveModal.openModal(); }, [bulkApproveModal]); @@ -605,30 +588,6 @@ const UniformityTable = ({ refresh }: { refresh?: () => void }) => { - -
- -
-
- void }) => { action: 'DELETE', icon: 'mdi:delete-outline', label: 'Delete', - onClick: handleBulkDelete, + hidden: selectedRowIds.length !== 1, + onClick: handleDelete, permissions: 'lti.production.uniformity.delete', }, ]} diff --git a/src/services/api/uniformity.ts b/src/services/api/uniformity.ts index 0f1b8ad3..acbdb5e8 100644 --- a/src/services/api/uniformity.ts +++ b/src/services/api/uniformity.ts @@ -107,18 +107,10 @@ export class UniformityApiService extends BaseApiService< ); } - async bulkDelete( - ids: number[] - ): Promise | undefined> { - return await this.customRequest>( - 'bulk-delete', - { - method: 'POST', - payload: { - ids, - }, - } - ); + async delete(id: number): Promise | undefined> { + return await this.customRequest>(`/${id}`, { + method: 'DELETE', + }); } }