summaryrefslogtreecommitdiff
path: root/lib/bidding/detail/table/bidding-detail-vendor-table.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bidding/detail/table/bidding-detail-vendor-table.tsx')
-rw-r--r--lib/bidding/detail/table/bidding-detail-vendor-table.tsx32
1 files changed, 5 insertions, 27 deletions
diff --git a/lib/bidding/detail/table/bidding-detail-vendor-table.tsx b/lib/bidding/detail/table/bidding-detail-vendor-table.tsx
index 95f63ce9..a9778636 100644
--- a/lib/bidding/detail/table/bidding-detail-vendor-table.tsx
+++ b/lib/bidding/detail/table/bidding-detail-vendor-table.tsx
@@ -20,7 +20,7 @@ import {
} from '@/lib/bidding/detail/service'
import { selectWinnerSchema } from '@/lib/bidding/validation'
import { useToast } from '@/hooks/use-toast'
-import { useTransition } from 'react'
+import { useTransition, useCallback } from 'react'
interface BiddingDetailVendorTableContentProps {
biddingId: number
@@ -114,29 +114,7 @@ export function BiddingDetailVendorTableContent({
const [priceAdjustmentData, setPriceAdjustmentData] = React.useState<any>(null)
const [isPriceAdjustmentDialogOpen, setIsPriceAdjustmentDialogOpen] = React.useState(false)
- const handleDelete = (vendor: QuotationVendor) => {
- if (!confirm(`${vendor.vendorName} 업체를 삭제하시겠습니까?`)) return
-
- startTransition(async () => {
- const response = await deleteQuotationVendor(vendor.id)
-
- if (response.success) {
- toast({
- title: '성공',
- description: response.message,
- })
- onRefresh()
- } else {
- toast({
- title: '오류',
- description: response.error,
- variant: 'destructive',
- })
- }
- })
- }
-
- const handleSelectWinner = (vendor: QuotationVendor) => {
+ const handleSelectWinner = useCallback((vendor: QuotationVendor) => {
if (!vendor.awardRatio || vendor.awardRatio <= 0) {
toast({
title: '오류',
@@ -180,7 +158,7 @@ export function BiddingDetailVendorTableContent({
})
}
})
- }
+ }, [toast, startTransition, biddingId, userId, selectWinnerSchema, selectWinner, onRefresh])
const handleEdit = (vendor: QuotationVendor) => {
setSelectedVendor(vendor)
@@ -214,12 +192,12 @@ export function BiddingDetailVendorTableContent({
const columns = React.useMemo(
() => getBiddingDetailVendorColumns({
onEdit: onEdit || handleEdit,
- onDelete: onDelete || handleDelete,
+ onDelete: onDelete,
onSelectWinner: onSelectWinner || handleSelectWinner,
onViewPriceAdjustment: handleViewPriceAdjustment,
onViewItemDetails: onViewItemDetails
}),
- [onEdit, onDelete, onSelectWinner, handleEdit, handleDelete, handleSelectWinner, handleViewPriceAdjustment, onViewItemDetails]
+ [onEdit, onDelete, onSelectWinner, handleEdit, handleSelectWinner, handleViewPriceAdjustment, onViewItemDetails]
)
const { table } = useDataTable({