"use client"; import React, { useEffect } from "react"; import { Card } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { Globe } from "lucide-react"; // 타입 import import { RightPanelProps } from "../types/redesigned"; // 컴포넌트 import import StepProgress from "./StepProgress"; import ConnectionStep from "./ConnectionStep"; import TableStep from "./TableStep"; import FieldMappingStep from "./FieldMappingStep"; import ControlConditionStep from "./ControlConditionStep"; import ActionConfigStep from "./ActionConfigStep"; import MultiActionConfigStep from "./MultiActionConfigStep"; import ExternalCallPanel from "../../../external-call/ExternalCallPanel"; /** * 🎯 우측 패널 (70% 너비) * - 단계별 진행 UI * - 연결 → 테이블 → 필드 매핑 * - 시각적 매핑 영역 */ const RightPanel: React.FC = ({ state, actions }) => { console.log("🔄 [RightPanel] 컴포넌트 렌더링 - connectionType:", state.connectionType); // connectionType 변경 감지 useEffect(() => { console.log("🔄 [RightPanel] connectionType 변경됨:", state.connectionType); }, [state.connectionType]); // 완료된 단계 계산 const completedSteps: number[] = []; if (state.fromConnection && state.toConnection) { completedSteps.push(1); } if (state.fromTable && state.toTable) { completedSteps.push(2); } // 새로운 단계 순서에 따른 완료 조건 const needsFieldMapping = state.actionType === "insert" || state.actionType === "upsert"; // 3단계: 제어 조건 (테이블 선택 후 바로 접근 가능) if (state.fromTable && state.toTable) { completedSteps.push(3); } // 4단계: 액션 설정 if (state.actionType) { completedSteps.push(4); } // 5단계: 컬럼 매핑 (INSERT/UPSERT인 경우에만) if (needsFieldMapping && state.fieldMappings.length > 0) { completedSteps.push(5); } const renderCurrentStep = () => { try { // 외부호출인 경우 단계 무시하고 바로 외부호출 설정 화면 표시 console.log("🔍 [RightPanel] renderCurrentStep - connectionType:", state.connectionType); if (state.connectionType === "external_call") { console.log("✅ [RightPanel] 외부호출 화면 렌더링"); return (
{/* 헤더 */}

외부 호출 설정

REST API 호출을 통해 외부 시스템에 데이터를 전송하거나 알림을 보낼 수 있습니다.

{/* 관계명 및 설명 입력 */}
actions.setRelationshipName(e.target.value)} placeholder="외부호출 관계의 이름을 입력하세요" className="mt-1 w-full rounded-md border border-gray-300 px-3 py-2 text-sm focus:border-primary focus:ring-1 focus:ring-blue-500 focus:outline-none" />