From 3ada095e43a2055364825af49c6613ad7c70fb81 Mon Sep 17 00:00:00 2001 From: kjs Date: Mon, 3 Nov 2025 12:06:57 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=BB=AC=EB=9F=BC=20=EB=A6=AC=EC=82=AC?= =?UTF-8?q?=EC=9D=B4=EC=A6=88=20=EC=B5=9C=EC=86=8C=20=EB=84=88=EB=B9=84=20?= =?UTF-8?q?80px=20=EC=A0=81=EC=9A=A9=20=EB=B0=8F=20=EB=94=94=EB=B2=84?= =?UTF-8?q?=EA=B7=B8=20=EB=A1=9C=EA=B7=B8=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CSS minWidth 제거 (table-layout: fixed와 충돌) - JavaScript에서 Math.max(80, width)로 최소 너비 보장 - 드래그 중과 마우스 업 시 모두 80px 최소값 적용 - 모든 디버그 로그 제거 - 깔끔하고 부드러운 리사이즈 완성 --- .../components/table-list/TableListComponent.tsx | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/frontend/lib/registry/components/table-list/TableListComponent.tsx b/frontend/lib/registry/components/table-list/TableListComponent.tsx index 81597a83..4fa655e2 100644 --- a/frontend/lib/registry/components/table-list/TableListComponent.tsx +++ b/frontend/lib/registry/components/table-list/TableListComponent.tsx @@ -1036,7 +1036,6 @@ export const TableListComponent: React.FC = ({ style={{ textAlign: column.align || "left", width: columnWidth ? `${columnWidth}px` : defaultWidth, - minWidth: '80px', userSelect: 'none' }} onClick={() => column.sortable && handleSort(column.columnName)} @@ -1058,31 +1057,24 @@ export const TableListComponent: React.FC = ({ style={{ marginRight: '-4px', paddingLeft: '4px', paddingRight: '4px' }} onClick={(e) => e.stopPropagation()} // 정렬 클릭 방지 onMouseDown={(e) => { - console.log('🖱️ 마우스 다운!', column.columnName); e.preventDefault(); e.stopPropagation(); const thElement = columnRefs.current[column.columnName]; - if (!thElement) { - console.error('❌ thElement를 찾을 수 없음!'); - return; - } + if (!thElement) return; const startX = e.clientX; const startWidth = columnWidth || thElement.offsetWidth; - console.log('✅ 시작:', { startX, startWidth }); // 드래그 중 텍스트 선택 방지 document.body.style.userSelect = 'none'; document.body.style.cursor = 'col-resize'; const handleMouseMove = (moveEvent: MouseEvent) => { - console.log('🐭 마우스 무브!', moveEvent.clientX); moveEvent.preventDefault(); const diff = moveEvent.clientX - startX; const newWidth = Math.max(80, startWidth + diff); - console.log('📏 새 너비:', newWidth); // 직접 DOM 스타일 변경 (리렌더링 없음) if (thElement) { @@ -1091,10 +1083,9 @@ export const TableListComponent: React.FC = ({ }; const handleMouseUp = () => { - console.log('⬆️ 마우스 업!'); // 최종 너비를 state에 저장 if (thElement) { - const finalWidth = thElement.offsetWidth; + const finalWidth = Math.max(80, thElement.offsetWidth); setColumnWidths(prev => ({ ...prev, [column.columnName]: finalWidth })); } @@ -1106,7 +1097,6 @@ export const TableListComponent: React.FC = ({ document.removeEventListener('mouseup', handleMouseUp); }; - console.log('👂 이벤트 리스너 등록'); document.addEventListener('mousemove', handleMouseMove); document.addEventListener('mouseup', handleMouseUp); }}