From 652617fe37c7d361f3753b5f6a0021a146a558f2 Mon Sep 17 00:00:00 2001 From: leeheejin Date: Fri, 28 Nov 2025 11:52:23 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A3=BC=EC=84=9D=EC=B2=98=EB=A6=AC=EC=99=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/(main)/screens/[screenId]/page.tsx | 22 +++--- frontend/components/common/ScreenModal.tsx | 2 +- frontend/components/ui/resizable-dialog.tsx | 2 +- frontend/hooks/useAuth.ts | 10 +-- frontend/lib/caching/codeCache.ts | 6 +- .../lib/hooks/useEntityJoinOptimization.ts | 4 +- .../CategoryManagerRenderer.tsx | 2 +- .../CustomerItemMappingRenderer.tsx | 2 +- .../table-list/TableListComponent.tsx | 78 +++++++++---------- .../components/tabs/tabs-component.tsx | 2 +- 10 files changed, 65 insertions(+), 65 deletions(-) diff --git a/frontend/app/(main)/screens/[screenId]/page.tsx b/frontend/app/(main)/screens/[screenId]/page.tsx index 5685d23a..74f79f8f 100644 --- a/frontend/app/(main)/screens/[screenId]/page.tsx +++ b/frontend/app/(main)/screens/[screenId]/page.tsx @@ -239,17 +239,17 @@ function ScreenViewPage() { // 가로 기준 스케일 계산 (좌우 여백 16px씩 고정) const newScale = availableWidth / designWidth; - console.log("📐 스케일 계산:", { - containerWidth, - containerHeight, - MARGIN_X, - availableWidth, - designWidth, - designHeight, - finalScale: newScale, - "스케일된 화면 크기": `${designWidth * newScale}px × ${designHeight * newScale}px`, - "실제 좌우 여백": `${(containerWidth - designWidth * newScale) / 2}px씩`, - }); + // console.log("📐 스케일 계산:", { + // containerWidth, + // containerHeight, + // MARGIN_X, + // availableWidth, + // designWidth, + // designHeight, + // finalScale: newScale, + // "스케일된 화면 크기": `${designWidth * newScale}px × ${designHeight * newScale}px`, + // "실제 좌우 여백": `${(containerWidth - designWidth * newScale) / 2}px씩`, + // }); setScale(newScale); // 컨테이너 너비 업데이트 diff --git a/frontend/components/common/ScreenModal.tsx b/frontend/components/common/ScreenModal.tsx index 65dbf84c..dac897b7 100644 --- a/frontend/components/common/ScreenModal.tsx +++ b/frontend/components/common/ScreenModal.tsx @@ -68,7 +68,7 @@ export const ScreenModal: React.FC = ({ className }) => { const savedMode = localStorage.getItem("screenModal_continuousMode"); if (savedMode === "true") { setContinuousMode(true); - console.log("🔄 연속 모드 복원: true"); + // console.log("🔄 연속 모드 복원: true"); } }, []); diff --git a/frontend/components/ui/resizable-dialog.tsx b/frontend/components/ui/resizable-dialog.tsx index fb93f085..54d18ed7 100644 --- a/frontend/components/ui/resizable-dialog.tsx +++ b/frontend/components/ui/resizable-dialog.tsx @@ -176,7 +176,7 @@ const ResizableDialogContent = React.forwardRef< height: Math.max(minHeight, Math.min(maxHeight, parsed.height)), userResized: true, }; - console.log("💾 사용자가 리사이징한 크기 복원:", savedSize); + // console.log("💾 사용자가 리사이징한 크기 복원:", savedSize); } } } catch (error) { diff --git a/frontend/hooks/useAuth.ts b/frontend/hooks/useAuth.ts index c90594bb..854a9196 100644 --- a/frontend/hooks/useAuth.ts +++ b/frontend/hooks/useAuth.ts @@ -221,11 +221,11 @@ export const useAuth = () => { setAuthStatus(finalAuthStatus); - console.log("✅ 최종 사용자 상태:", { - userId: userInfo?.userId, - userName: userInfo?.userName, - companyCode: userInfo?.companyCode || userInfo?.company_code, - }); + // console.log("✅ 최종 사용자 상태:", { + // userId: userInfo?.userId, + // userName: userInfo?.userName, + // companyCode: userInfo?.companyCode || userInfo?.company_code, + // }); // 디버깅용 로그 diff --git a/frontend/lib/caching/codeCache.ts b/frontend/lib/caching/codeCache.ts index 94616f53..734b745c 100644 --- a/frontend/lib/caching/codeCache.ts +++ b/frontend/lib/caching/codeCache.ts @@ -93,7 +93,7 @@ class CodeCache { * 여러 코드 카테고리를 배치로 미리 로딩 */ async preloadCodes(categories: string[]): Promise { - console.log(`🔄 코드 배치 로딩 시작: ${categories.join(", ")}`); + // console.log(`🔄 코드 배치 로딩 시작: ${categories.join(", ")}`); const promises = categories.map(async (category) => { try { @@ -101,7 +101,7 @@ class CodeCache { if (response.success && response.data) { const cacheKey = this.createCodeKey(category); this.set(cacheKey, response.data, this.defaultTTL); - console.log(`✅ 코드 로딩 완료: ${category} (${response.data.length}개)`); + // console.log(`✅ 코드 로딩 완료: ${category} (${response.data.length}개)`); } } catch (error) { console.error(`❌ 코드 로딩 실패: ${category}`, error); @@ -109,7 +109,7 @@ class CodeCache { }); await Promise.all(promises); - console.log(`✅ 코드 배치 로딩 완료: ${categories.length}개 카테고리`); + // console.log(`✅ 코드 배치 로딩 완료: ${categories.length}개 카테고리`); } /** diff --git a/frontend/lib/hooks/useEntityJoinOptimization.ts b/frontend/lib/hooks/useEntityJoinOptimization.ts index 3e11342f..686211dc 100644 --- a/frontend/lib/hooks/useEntityJoinOptimization.ts +++ b/frontend/lib/hooks/useEntityJoinOptimization.ts @@ -99,7 +99,7 @@ export function useEntityJoinOptimization(columnMeta: Record = ({ } }); - console.log("🔍 [TableListComponent] filters → searchValues:", { - filters: filters.length, - searchValues: newSearchValues, - }); + // console.log("🔍 [TableListComponent] filters → searchValues:", { + // filters: filters.length, + // searchValues: newSearchValues, + // }); setSearchValues(newSearchValues); setCurrentPage(1); // 필터 변경 시 첫 페이지로 @@ -859,13 +859,13 @@ export const TableListComponent: React.FC = ({ referenceTable: col.additionalJoinInfo!.referenceTable, })); - console.log("🔍 [TableList] API 호출 시작", { - tableName: tableConfig.selectedTable, - page, - pageSize, - sortBy, - sortOrder, - }); + // console.log("🔍 [TableList] API 호출 시작", { + // tableName: tableConfig.selectedTable, + // page, + // pageSize, + // sortBy, + // sortOrder, + // }); // 🎯 항상 entityJoinApi 사용 (writer 컬럼 자동 조인 지원) const response = await entityJoinApi.getTableDataWithJoins(tableConfig.selectedTable, { @@ -883,12 +883,12 @@ export const TableListComponent: React.FC = ({ const itemNumbers = (response.data || []).map((item: any) => item.item_number); const uniqueItemNumbers = [...new Set(itemNumbers)]; - console.log("✅ [TableList] API 응답 받음"); - console.log(` - dataLength: ${response.data?.length || 0}`); - console.log(` - total: ${response.total}`); - console.log(` - itemNumbers: ${JSON.stringify(itemNumbers)}`); - console.log(` - uniqueItemNumbers: ${JSON.stringify(uniqueItemNumbers)}`); - console.log(` - isDuplicated: ${itemNumbers.length !== uniqueItemNumbers.length}`); + // console.log("✅ [TableList] API 응답 받음"); + // console.log(` - dataLength: ${response.data?.length || 0}`); + // console.log(` - total: ${response.total}`); + // console.log(` - itemNumbers: ${JSON.stringify(itemNumbers)}`); + // console.log(` - uniqueItemNumbers: ${JSON.stringify(uniqueItemNumbers)}`); + // console.log(` - isDuplicated: ${itemNumbers.length !== uniqueItemNumbers.length}`); setData(response.data || []); setTotalPages(response.totalPages || 0); @@ -1310,41 +1310,41 @@ export const TableListComponent: React.FC = ({ const lastColumnOrderRef = useRef(""); useEffect(() => { - console.log("🔍 [컬럼 순서 전달 useEffect] 실행됨:", { - hasCallback: !!onSelectedRowsChange, - visibleColumnsLength: visibleColumns.length, - visibleColumnsNames: visibleColumns.map((c) => c.columnName), - }); + // console.log("🔍 [컬럼 순서 전달 useEffect] 실행됨:", { + // hasCallback: !!onSelectedRowsChange, + // visibleColumnsLength: visibleColumns.length, + // visibleColumnsNames: visibleColumns.map((c) => c.columnName), + // }); if (!onSelectedRowsChange) { - console.warn("⚠️ onSelectedRowsChange 콜백이 없습니다!"); + // console.warn("⚠️ onSelectedRowsChange 콜백이 없습니다!"); return; } if (visibleColumns.length === 0) { - console.warn("⚠️ visibleColumns가 비어있습니다!"); + // console.warn("⚠️ visibleColumns가 비어있습니다!"); return; } const currentColumnOrder = visibleColumns.map((col) => col.columnName).filter((name) => name !== "__checkbox__"); // 체크박스 컬럼 제외 - console.log("🔍 [컬럼 순서] 체크박스 제외 후:", currentColumnOrder); + // console.log("🔍 [컬럼 순서] 체크박스 제외 후:", currentColumnOrder); // 컬럼 순서가 실제로 변경되었을 때만 전달 (무한 루프 방지) const columnOrderString = currentColumnOrder.join(","); - console.log("🔍 [컬럼 순서] 비교:", { - current: columnOrderString, - last: lastColumnOrderRef.current, - isDifferent: columnOrderString !== lastColumnOrderRef.current, - }); + // console.log("🔍 [컬럼 순서] 비교:", { + // current: columnOrderString, + // last: lastColumnOrderRef.current, + // isDifferent: columnOrderString !== lastColumnOrderRef.current, + // }); if (columnOrderString === lastColumnOrderRef.current) { - console.log("⏭️ 컬럼 순서 변경 없음, 전달 스킵"); + // console.log("⏭️ 컬럼 순서 변경 없음, 전달 스킵"); return; } lastColumnOrderRef.current = columnOrderString; - console.log("📊 현재 화면 컬럼 순서 전달:", currentColumnOrder); + // console.log("📊 현재 화면 컬럼 순서 전달:", currentColumnOrder); // 선택된 행 데이터 가져오기 const selectedRowsData = data.filter((row, index) => selectedRows.has(getRowKey(row, index))); @@ -1862,13 +1862,13 @@ export const TableListComponent: React.FC = ({ }, [tableConfig.selectedTable, fetchColumnLabels, fetchTableLabel]); useEffect(() => { - console.log("🔍 [TableList] useEffect 실행 - 데이터 조회 트리거", { - isDesignMode, - tableName: tableConfig.selectedTable, - currentPage, - sortColumn, - sortDirection, - }); + // console.log("🔍 [TableList] useEffect 실행 - 데이터 조회 트리거", { + // isDesignMode, + // tableName: tableConfig.selectedTable, + // currentPage, + // sortColumn, + // sortDirection, + // }); if (!isDesignMode && tableConfig.selectedTable) { fetchTableDataDebounced(); diff --git a/frontend/lib/registry/components/tabs/tabs-component.tsx b/frontend/lib/registry/components/tabs/tabs-component.tsx index 9006d78e..dc6ee110 100644 --- a/frontend/lib/registry/components/tabs/tabs-component.tsx +++ b/frontend/lib/registry/components/tabs/tabs-component.tsx @@ -161,5 +161,5 @@ ComponentRegistry.registerComponent({ }, }); -console.log("✅ 탭 컴포넌트 등록 완료"); +// console.log("✅ 탭 컴포넌트 등록 완료");