restapi 버튼 동작
This commit is contained in:
@@ -37,7 +37,7 @@ interface RelationshipOption {
|
||||
* 🔥 버튼 제어관리 설정 패널 (Phase 1: 간편 모드만)
|
||||
*
|
||||
* 성능 최적화를 위해 간편 모드만 구현:
|
||||
* - 기존 관계도 선택
|
||||
* - 기존 관계 선택
|
||||
* - "after" 타이밍만 지원
|
||||
* - 복잡한 고급 모드는 Phase 2에서
|
||||
*/
|
||||
@@ -57,14 +57,14 @@ export const ButtonDataflowConfigPanel: React.FC<ButtonDataflowConfigPanelProps>
|
||||
const [relationshipOpen, setRelationshipOpen] = useState(false);
|
||||
const [previewData, setPreviewData] = useState<any>(null);
|
||||
|
||||
// 🔥 관계도 목록 로딩
|
||||
// 🔥 관계 목록 로딩
|
||||
useEffect(() => {
|
||||
if (config.enableDataflowControl) {
|
||||
loadDiagrams();
|
||||
}
|
||||
}, [config.enableDataflowControl]);
|
||||
|
||||
// 🔥 관계도 변경 시 관계 목록 로딩
|
||||
// 🔥 관계 변경 시 관계 목록 로딩
|
||||
useEffect(() => {
|
||||
if (dataflowConfig.selectedDiagramId) {
|
||||
loadRelationships(dataflowConfig.selectedDiagramId);
|
||||
@@ -72,12 +72,12 @@ export const ButtonDataflowConfigPanel: React.FC<ButtonDataflowConfigPanelProps>
|
||||
}, [dataflowConfig.selectedDiagramId]);
|
||||
|
||||
/**
|
||||
* 🔥 관계도 목록 로딩 (캐시 활용)
|
||||
* 🔥 관계 목록 로딩 (캐시 활용)
|
||||
*/
|
||||
const loadDiagrams = async () => {
|
||||
try {
|
||||
setDiagramsLoading(true);
|
||||
console.log("🔍 데이터플로우 관계도 목록 로딩...");
|
||||
console.log("🔍 데이터플로우 관계 목록 로딩...");
|
||||
|
||||
const response = await apiClient.get("/test-button-dataflow/diagrams");
|
||||
|
||||
@@ -90,10 +90,10 @@ export const ButtonDataflowConfigPanel: React.FC<ButtonDataflowConfigPanelProps>
|
||||
}));
|
||||
|
||||
setDiagrams(diagramList);
|
||||
console.log(`✅ 관계도 ${diagramList.length}개 로딩 완료`);
|
||||
console.log(`✅ 관계 ${diagramList.length}개 로딩 완료`);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("❌ 관계도 목록 로딩 실패:", error);
|
||||
console.error("❌ 관계 목록 로딩 실패:", error);
|
||||
setDiagrams([]);
|
||||
} finally {
|
||||
setDiagramsLoading(false);
|
||||
@@ -106,7 +106,7 @@ export const ButtonDataflowConfigPanel: React.FC<ButtonDataflowConfigPanelProps>
|
||||
const loadRelationships = async (diagramId: number) => {
|
||||
try {
|
||||
setRelationshipsLoading(true);
|
||||
console.log(`🔍 관계도 ${diagramId} 관계 목록 로딩...`);
|
||||
console.log(`🔍 관계 ${diagramId} 관계 목록 로딩...`);
|
||||
|
||||
const response = await apiClient.get(`/test-button-dataflow/diagrams/${diagramId}/relationships`);
|
||||
|
||||
@@ -216,7 +216,7 @@ export const ButtonDataflowConfigPanel: React.FC<ButtonDataflowConfigPanelProps>
|
||||
}
|
||||
};
|
||||
|
||||
// 선택된 관계도 정보
|
||||
// 선택된 관계 정보
|
||||
const selectedDiagram = diagrams.find((d) => d.id === dataflowConfig.selectedDiagramId);
|
||||
const selectedRelationship = relationships.find((r) => r.id === dataflowConfig.selectedRelationshipId);
|
||||
|
||||
@@ -324,7 +324,7 @@ export const ButtonDataflowConfigPanel: React.FC<ButtonDataflowConfigPanelProps>
|
||||
<SelectValue placeholder="제어 모드를 선택하세요" />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="simple">간편 모드 (관계도 선택)</SelectItem>
|
||||
<SelectItem value="simple">간편 모드 (관계 선택)</SelectItem>
|
||||
<SelectItem value="advanced" disabled>
|
||||
고급 모드 (개발중)
|
||||
</SelectItem>
|
||||
@@ -335,11 +335,11 @@ export const ButtonDataflowConfigPanel: React.FC<ButtonDataflowConfigPanelProps>
|
||||
{/* 간편 모드 설정 */}
|
||||
{(dataflowConfig.controlMode === "simple" || !dataflowConfig.controlMode) && (
|
||||
<div className="space-y-3 rounded border bg-gray-50 p-3">
|
||||
<h4 className="text-sm font-medium text-gray-700">관계도 선택</h4>
|
||||
<h4 className="text-sm font-medium text-gray-700">관계 선택</h4>
|
||||
|
||||
{/* 관계도 선택 */}
|
||||
{/* 관계 선택 */}
|
||||
<div>
|
||||
<Label className="text-xs">관계도</Label>
|
||||
<Label className="text-xs">관계</Label>
|
||||
<Popover open={diagramOpen} onOpenChange={setDiagramOpen}>
|
||||
<PopoverTrigger asChild>
|
||||
<Button
|
||||
@@ -357,7 +357,7 @@ export const ButtonDataflowConfigPanel: React.FC<ButtonDataflowConfigPanelProps>
|
||||
</Badge>
|
||||
</div>
|
||||
) : (
|
||||
"관계도를 선택하세요"
|
||||
"관계를 선택하세요"
|
||||
)}
|
||||
<ChevronsUpDown className="ml-2 h-4 w-4 shrink-0 opacity-50" />
|
||||
</Button>
|
||||
@@ -365,9 +365,9 @@ export const ButtonDataflowConfigPanel: React.FC<ButtonDataflowConfigPanelProps>
|
||||
<PopoverContent className="w-80 p-0">
|
||||
<div className="p-2">
|
||||
{diagramsLoading ? (
|
||||
<div className="p-4 text-center text-sm text-gray-500">관계도 목록을 불러오는 중...</div>
|
||||
<div className="p-4 text-center text-sm text-gray-500">관계 목록을 불러오는 중...</div>
|
||||
) : diagrams.length === 0 ? (
|
||||
<div className="p-4 text-center text-sm text-gray-500">사용 가능한 관계도가 없습니다</div>
|
||||
<div className="p-4 text-center text-sm text-gray-500">사용 가능한 관계가 없습니다</div>
|
||||
) : (
|
||||
<div className="max-h-60 overflow-y-auto">
|
||||
{diagrams.map((diagram) => (
|
||||
@@ -377,7 +377,7 @@ export const ButtonDataflowConfigPanel: React.FC<ButtonDataflowConfigPanelProps>
|
||||
className="h-auto w-full justify-start p-2"
|
||||
onClick={() => {
|
||||
onUpdateProperty("webTypeConfig.dataflowConfig.selectedDiagramId", diagram.id);
|
||||
// 관계도 변경 시 기존 관계 선택 초기화
|
||||
// 관계 변경 시 기존 관계 선택 초기화
|
||||
onUpdateProperty("webTypeConfig.dataflowConfig.selectedRelationshipId", null);
|
||||
setDiagramOpen(false);
|
||||
}}
|
||||
@@ -435,7 +435,7 @@ export const ButtonDataflowConfigPanel: React.FC<ButtonDataflowConfigPanelProps>
|
||||
<div className="p-4 text-center text-sm text-gray-500">관계 목록을 불러오는 중...</div>
|
||||
) : relationships.length === 0 ? (
|
||||
<div className="p-4 text-center text-sm text-gray-500">
|
||||
이 관계도에는 사용 가능한 관계가 없습니다
|
||||
이 관계에는 사용 가능한 관계가 없습니다
|
||||
</div>
|
||||
) : (
|
||||
<div className="max-h-60 overflow-y-auto">
|
||||
|
||||
Reference in New Issue
Block a user