feat: 대시보드 관리 시스템 구현
## 백엔드 - DashboardController: 대시보드 CRUD 및 쿼리 실행 API - DashboardService: 비즈니스 로직 처리 - PostgreSQL 연동 및 데이터 관리 ## 프론트엔드 - DashboardDesigner: 캔버스 기반 대시보드 디자이너 - QueryEditor: SQL 쿼리 편집 및 미리보기 - ChartRenderer: 다양한 차트 타입 지원 (Bar, Line, Area, Donut, Stacked, Combo) - DashboardViewer: 실시간 데이터 반영 뷰어 ## 개선사항 - 콘솔 로그 프로덕션 준비 (주석 처리) - 차트 컴포넌트 확장 (6가지 타입) - 실시간 쿼리 실행 및 데이터 바인딩
This commit is contained in:
@@ -141,11 +141,22 @@ export function CanvasElement({ element, isSelected, onUpdate, onRemove, onSelec
|
||||
|
||||
setIsLoadingData(true);
|
||||
try {
|
||||
// 실제 API 호출 대신 샘플 데이터 생성
|
||||
const sampleData = generateSampleData(element.dataSource.query, element.subtype);
|
||||
setChartData(sampleData);
|
||||
// console.log('🔄 쿼리 실행 시작:', element.dataSource.query);
|
||||
|
||||
// 실제 API 호출
|
||||
const { dashboardApi } = await import('@/lib/api/dashboard');
|
||||
const result = await dashboardApi.executeQuery(element.dataSource.query);
|
||||
|
||||
// console.log('✅ 쿼리 실행 결과:', result);
|
||||
|
||||
setChartData({
|
||||
columns: result.columns || [],
|
||||
rows: result.rows || [],
|
||||
totalRows: result.rowCount || 0,
|
||||
executionTime: 0
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('데이터 로딩 오류:', error);
|
||||
// console.error('❌ 데이터 로딩 오류:', error);
|
||||
setChartData(null);
|
||||
} finally {
|
||||
setIsLoadingData(false);
|
||||
|
||||
Reference in New Issue
Block a user