summaryrefslogtreecommitdiff
path: root/lib/vendors/contacts-table/contact-table.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/vendors/contacts-table/contact-table.tsx')
-rw-r--r--lib/vendors/contacts-table/contact-table.tsx25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/vendors/contacts-table/contact-table.tsx b/lib/vendors/contacts-table/contact-table.tsx
index 2991187e..65b12451 100644
--- a/lib/vendors/contacts-table/contact-table.tsx
+++ b/lib/vendors/contacts-table/contact-table.tsx
@@ -16,6 +16,7 @@ import { getColumns } from "./contact-table-columns"
import { getVendorContacts, } from "../service"
import { VendorContact, vendors } from "@/db/schema/vendors"
import { VendorsTableToolbarActions } from "./contact-table-toolbar-actions"
+import { EditContactDialog } from "./edit-contact-dialog"
interface VendorsTableProps {
promises: Promise<
@@ -33,6 +34,23 @@ export function VendorContactsTable({ promises , vendorId}: VendorsTableProps) {
const [{ data, pageCount }] = React.use(promises)
const [rowAction, setRowAction] = React.useState<DataTableRowAction<VendorContact> | null>(null)
+ const [editDialogOpen, setEditDialogOpen] = React.useState(false)
+ const [selectedContact, setSelectedContact] = React.useState<VendorContact | null>(null)
+
+ // Edit 액션 처리
+ React.useEffect(() => {
+ if (rowAction?.type === "update") {
+ setSelectedContact(rowAction.row.original)
+ setEditDialogOpen(true)
+ setRowAction(null)
+ }
+ }, [rowAction])
+
+ // 데이터 새로고침 함수
+ const handleEditSuccess = React.useCallback(() => {
+ // 페이지를 새로고침하거나 데이터를 다시 가져오기
+ window.location.reload()
+ }, [])
// getColumns() 호출 시, router를 주입
const columns = React.useMemo(
@@ -82,6 +100,13 @@ export function VendorContactsTable({ promises , vendorId}: VendorsTableProps) {
<VendorsTableToolbarActions table={table} vendorId={vendorId} />
</DataTableAdvancedToolbar>
</DataTable>
+
+ <EditContactDialog
+ contact={selectedContact}
+ open={editDialogOpen}
+ onOpenChange={setEditDialogOpen}
+ onSuccess={handleEditSuccess}
+ />
</>
)
} \ No newline at end of file