데이터 저장까지 구현 #30

Merged
hyeonsu merged 11 commits from dataflowMng into dev 2025-09-16 17:57:45 +09:00
1 changed files with 30 additions and 5 deletions
Showing only changes of commit aece1875e2 - Show all commits

View File

@ -56,6 +56,7 @@ export const DataFlowDesigner: React.FC<DataFlowDesignerProps> = ({
pendingConnection,
setPendingConnection,
currentDiagramId,
setCurrentDiagramId,
currentDiagramName,
setCurrentDiagramName,
currentDiagramCategory,
@ -93,6 +94,9 @@ export const DataFlowDesigner: React.FC<DataFlowDesignerProps> = ({
const loadDiagramData = async () => {
if (diagramId && diagramId > 0) {
try {
// 편집 모드일 때 currentDiagramId 설정
setCurrentDiagramId(diagramId);
const jsonDiagram = await DataFlowAPI.getJsonDataFlowDiagramById(diagramId, companyCode);
if (jsonDiagram) {
// 관계도 이름 설정
@ -217,7 +221,16 @@ export const DataFlowDesigner: React.FC<DataFlowDesignerProps> = ({
};
loadDiagramData();
}, [diagramId, companyCode, setCurrentDiagramName, setNodes, setEdges, setTempRelationships, handleColumnClick]);
}, [
diagramId,
companyCode,
setCurrentDiagramId,
setCurrentDiagramName,
setNodes,
setEdges,
setTempRelationships,
handleColumnClick,
]);
// 키보드 이벤트 핸들러 (Del 키로 선택된 노드 삭제)
useEffect(() => {
@ -661,17 +674,26 @@ export const DataFlowDesigner: React.FC<DataFlowDesignerProps> = ({
})) as any, // plan 전체를 any로 캐스팅
};
if (diagramId && diagramId > 0) {
// 기존 관계도 수정
if ((diagramId && diagramId > 0) || (currentDiagramId && currentDiagramId > 0)) {
// 기존 관계도 수정 (prop diagramId 또는 내부 currentDiagramId 사용)
const targetDiagramId = diagramId || currentDiagramId;
await DataFlowAPI.updateJsonDataFlowDiagram(
diagramId,
targetDiagramId!,
saveRequest,
companyCode,
authUser?.userId || "SYSTEM",
);
} else {
// 새로운 관계도 생성
await DataFlowAPI.createJsonDataFlowDiagram(saveRequest, companyCode, authUser?.userId || "SYSTEM");
const newDiagram = await DataFlowAPI.createJsonDataFlowDiagram(
saveRequest,
companyCode,
authUser?.userId || "SYSTEM",
);
// 새로 생성된 다이어그램 ID를 내부 상태에 저장 (다음 저장부터는 업데이트 모드)
setCurrentDiagramId(newDiagram.diagram_id);
setCurrentDiagramName(newDiagram.diagram_name);
}
toast.success(`관계도 "${diagramName}"가 성공적으로 저장되었습니다.`);
@ -688,11 +710,14 @@ export const DataFlowDesigner: React.FC<DataFlowDesignerProps> = ({
nodes,
tempRelationships,
diagramId,
currentDiagramId,
companyCode,
authUser?.userId,
setIsSaving,
setHasUnsavedChanges,
setShowSaveModal,
setCurrentDiagramId,
setCurrentDiagramName,
],
);