"use client"; /** * 테이블 소스 노드 */ import { memo } from "react"; import { Handle, Position, NodeProps } from "reactflow"; import { Database } from "lucide-react"; import type { TableSourceNodeData } from "@/types/node-editor"; export const TableSourceNode = memo(({ data, selected }: NodeProps) => { // 디버깅: 필드 데이터 확인 if (data.fields && data.fields.length > 0) { console.log("🔍 TableSource 필드 데이터:", data.fields); } return (
{/* 헤더 */}
{data.displayName || data.tableName || "테이블 소스"}
{data.tableName && data.displayName !== data.tableName && (
{data.tableName}
)}
{/* 본문 */}
📍 내부 데이터베이스
{/* 필드 목록 */}
출력 필드:
{data.fields && data.fields.length > 0 ? ( data.fields.slice(0, 5).map((field) => (
{field.label || field.displayName || field.name} {(field.label || field.displayName) && field.label !== field.name && ( ({field.name}) )} {field.type}
)) ) : (
필드 없음
)} {data.fields && data.fields.length > 5 && (
... 외 {data.fields.length - 5}개
)}
{/* 출력 핸들 */}
); }); TableSourceNode.displayName = "TableSourceNode";