TableNode 수정
This commit is contained in:
parent
6dad7c15ce
commit
6f77059905
|
|
@ -22,18 +22,10 @@ interface TableNodeData {
|
||||||
onScrollAreaEnter?: () => void;
|
onScrollAreaEnter?: () => void;
|
||||||
onScrollAreaLeave?: () => void;
|
onScrollAreaLeave?: () => void;
|
||||||
selectedColumns?: string[]; // 선택된 컬럼 목록
|
selectedColumns?: string[]; // 선택된 컬럼 목록
|
||||||
connectedColumns?: { [columnName: string]: { direction: "source" | "target" | "both" } }; // 연결된 컬럼 정보
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export const TableNode: React.FC<{ data: TableNodeData }> = ({ data }) => {
|
export const TableNode: React.FC<{ data: TableNodeData }> = ({ data }) => {
|
||||||
const {
|
const { table, onColumnClick, onScrollAreaEnter, onScrollAreaLeave, selectedColumns = [] } = data;
|
||||||
table,
|
|
||||||
onColumnClick,
|
|
||||||
onScrollAreaEnter,
|
|
||||||
onScrollAreaLeave,
|
|
||||||
selectedColumns = [],
|
|
||||||
connectedColumns = {},
|
|
||||||
} = data;
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="relative flex min-w-[280px] flex-col overflow-hidden rounded-lg border-2 border-gray-300 bg-white shadow-lg">
|
<div className="relative flex min-w-[280px] flex-col overflow-hidden rounded-lg border-2 border-gray-300 bg-white shadow-lg">
|
||||||
|
|
@ -42,7 +34,7 @@ export const TableNode: React.FC<{ data: TableNodeData }> = ({ data }) => {
|
||||||
<Handle type="source" position={Position.Right} id="right" className="!invisible !h-1 !w-1" />
|
<Handle type="source" position={Position.Right} id="right" className="!invisible !h-1 !w-1" />
|
||||||
|
|
||||||
{/* 테이블 헤더 - 통일된 디자인 */}
|
{/* 테이블 헤더 - 통일된 디자인 */}
|
||||||
<div className="rounded-t-lg bg-blue-600 p-3 text-white">
|
<div className="bg-blue-600 p-3 text-white">
|
||||||
<h3 className="truncate text-sm font-semibold">{table.displayName}</h3>
|
<h3 className="truncate text-sm font-semibold">{table.displayName}</h3>
|
||||||
{table.description && <p className="mt-1 truncate text-xs opacity-75">{table.description}</p>}
|
{table.description && <p className="mt-1 truncate text-xs opacity-75">{table.description}</p>}
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -50,7 +42,7 @@ export const TableNode: React.FC<{ data: TableNodeData }> = ({ data }) => {
|
||||||
{/* 컬럼 목록 */}
|
{/* 컬럼 목록 */}
|
||||||
<div className="flex-1 overflow-hidden p-2" onMouseEnter={onScrollAreaEnter} onMouseLeave={onScrollAreaLeave}>
|
<div className="flex-1 overflow-hidden p-2" onMouseEnter={onScrollAreaEnter} onMouseLeave={onScrollAreaLeave}>
|
||||||
<div className="space-y-1">
|
<div className="space-y-1">
|
||||||
{table.columns.map((column, index) => {
|
{table.columns.map((column) => {
|
||||||
const isSelected = selectedColumns.includes(column.name);
|
const isSelected = selectedColumns.includes(column.name);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue