데이터 관계 수정 시 라우트 변경
This commit is contained in:
@@ -50,16 +50,18 @@ const nodeTypes = {
|
||||
const edgeTypes = {};
|
||||
|
||||
interface DataFlowDesignerProps {
|
||||
companyCode: string;
|
||||
companyCode?: string;
|
||||
onSave?: (relationships: TableRelationship[]) => void;
|
||||
selectedDiagram?: DataFlowDiagram | null;
|
||||
selectedDiagram?: DataFlowDiagram | string | null;
|
||||
relationshipId?: string;
|
||||
onBackToList?: () => void;
|
||||
}
|
||||
|
||||
// TableRelationship 타입은 dataflow.ts에서 import
|
||||
|
||||
export const DataFlowDesigner: React.FC<DataFlowDesignerProps> = ({
|
||||
companyCode,
|
||||
companyCode = "*",
|
||||
relationshipId,
|
||||
onSave,
|
||||
selectedDiagram,
|
||||
onBackToList, // eslint-disable-line @typescript-eslint/no-unused-vars
|
||||
@@ -167,12 +169,14 @@ export const DataFlowDesigner: React.FC<DataFlowDesignerProps> = ({
|
||||
|
||||
// 선택된 관계도의 관계 로드
|
||||
const loadSelectedDiagramRelationships = useCallback(async () => {
|
||||
if (!selectedDiagram) return;
|
||||
if (!relationshipId) return;
|
||||
|
||||
try {
|
||||
console.log("🔍 관계도 로드 시작:", selectedDiagram.diagramName);
|
||||
console.log("🔍 관계도 로드 시작 (relationshipId):", relationshipId);
|
||||
toast.loading("관계도를 불러오는 중...", { id: "load-diagram" });
|
||||
const diagramRelationships = await DataFlowAPI.getDiagramRelationships(selectedDiagram.diagramName);
|
||||
|
||||
// relationshipId로 해당 관계도의 모든 관계 조회
|
||||
const diagramRelationships = await DataFlowAPI.getDiagramRelationshipsByRelationshipId(relationshipId);
|
||||
console.log("📋 관계도 관계 데이터:", diagramRelationships);
|
||||
console.log("📋 첫 번째 관계 상세:", diagramRelationships[0]);
|
||||
console.log(
|
||||
@@ -320,12 +324,12 @@ export const DataFlowDesigner: React.FC<DataFlowDesignerProps> = ({
|
||||
console.log("🔗 생성된 관계 에지 수:", relationshipEdges.length);
|
||||
console.log("📍 관계 에지 상세:", relationshipEdges);
|
||||
setEdges(relationshipEdges);
|
||||
toast.success(`"${selectedDiagram.diagramName}" 관계도를 불러왔습니다.`, { id: "load-diagram" });
|
||||
toast.success("관계도를 불러왔습니다.", { id: "load-diagram" });
|
||||
} catch (error) {
|
||||
console.error("선택된 관계도 로드 실패:", error);
|
||||
toast.error("관계도를 불러오는데 실패했습니다.", { id: "load-diagram" });
|
||||
}
|
||||
}, [selectedDiagram, setNodes, setEdges, selectedColumns, handleColumnClick]);
|
||||
}, [relationshipId, setNodes, setEdges, selectedColumns, handleColumnClick]);
|
||||
|
||||
// 기존 관계 로드 (새 관계도 생성 시)
|
||||
const loadExistingRelationships = useCallback(async () => {
|
||||
@@ -387,13 +391,13 @@ export const DataFlowDesigner: React.FC<DataFlowDesignerProps> = ({
|
||||
// 컴포넌트 마운트 시 관계 로드
|
||||
useEffect(() => {
|
||||
if (companyCode) {
|
||||
if (selectedDiagram) {
|
||||
if (relationshipId) {
|
||||
loadSelectedDiagramRelationships();
|
||||
} else {
|
||||
loadExistingRelationships();
|
||||
}
|
||||
}
|
||||
}, [companyCode, selectedDiagram, loadExistingRelationships, loadSelectedDiagramRelationships]);
|
||||
}, [companyCode, relationshipId, loadExistingRelationships, loadSelectedDiagramRelationships]);
|
||||
|
||||
// 노드 선택 변경 핸들러
|
||||
const onSelectionChange = useCallback(({ nodes }: { nodes: Node<TableNodeData>[] }) => {
|
||||
|
||||
Reference in New Issue
Block a user