데이터 저장까지 구현 #30
|
|
@ -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,
|
||||
],
|
||||
);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue