사이드바 방식으로 변경

This commit is contained in:
dohyeons
2025-10-22 13:40:15 +09:00
parent 85987af65e
commit 01ebb2550c
16 changed files with 908 additions and 643 deletions

View File

@@ -7,6 +7,8 @@ import { ChartConfigPanel } from "./ChartConfigPanel";
import { VehicleMapConfigPanel } from "./VehicleMapConfigPanel";
import { DatabaseConfig } from "./data-sources/DatabaseConfig";
import { ApiConfig } from "./data-sources/ApiConfig";
import { ListWidgetConfigSidebar } from "./widgets/ListWidgetConfigSidebar";
import { YardWidgetConfigModal } from "./widgets/YardWidgetConfigModal";
import { X } from "lucide-react";
import { cn } from "@/lib/utils";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
@@ -115,6 +117,34 @@ export function ElementConfigSidebar({ element, isOpen, onClose, onApply }: Elem
// 요소가 없으면 렌더링하지 않음
if (!element) return null;
// 리스트 위젯은 별도 사이드바로 처리
if (element.subtype === "list") {
return (
<ListWidgetConfigSidebar
element={element}
isOpen={isOpen}
onClose={onClose}
onApply={(updatedElement) => {
onApply(updatedElement);
}}
/>
);
}
// 야드 위젯은 별도 모달로 처리
if (element.subtype === "yard-management-3d") {
return (
<YardWidgetConfigModal
element={element}
isOpen={isOpen}
onClose={onClose}
onSave={(updatedElement) => {
onApply({ ...element, ...updatedElement });
}}
/>
);
}
// 차트 설정이 필요 없는 위젯 (쿼리/API만 필요)
const isSimpleWidget =
element.subtype === "todo" ||