# 속성 패널 스크롤 문제 해결 가이드 ## 적용된 수정사항 ### 1. PropertiesPanel.tsx ```tsx // 최상위 컨테이너
// 헤더 (고정 높이)
// 스크롤 영역 (중요!)
``` ### 2. FlowEditor.tsx ```tsx // 속성 패널 컨테이너 단순화
``` ### 3. TableSourceProperties.tsx / ExternalDBSourceProperties.tsx ```tsx // ScrollArea 제거, 일반 div 사용
{/* 컨텐츠 */}
``` ## 테스트 방법 1. **브라우저 강제 새로고침** - Windows: `Ctrl + Shift + R` 또는 `Ctrl + F5` - Mac: `Cmd + Shift + R` 2. **노드 플로우 편집기 열기** - 관리자 메뉴 > 플로우 관리 3. **테스트 노드 추가** - 테이블 소스 노드를 캔버스에 드래그 4. **속성 패널 확인** - 노드 클릭 - 우측에 속성 패널 열림 - **회색 배경 확인** (스크롤 영역) 5. **스크롤 테스트** - 마우스 휠로 스크롤 - 또는 스크롤바 드래그 - **빨간 박스** → 중간 지점 - **파란 박스** → 맨 아래 (스크롤 성공!) ## 스크롤이 여전히 안 되는 경우 ### 체크리스트 1. ✅ **브라우저 캐시 완전 삭제** ``` F12 > Network 탭 > "Disable cache" 체크 ``` 2. ✅ **개발자 도구로 HTML 구조 확인** ``` F12 > Elements 탭 속성 패널의 div 찾기 → "overflow-y: scroll" 스타일 확인 ``` 3. ✅ **콘솔 에러 확인** ``` F12 > Console 탭 에러 메시지 확인 ``` 4. ✅ **브라우저 호환성** - Chrome/Edge: 권장 - Firefox: 지원 - Safari: 일부 스타일 이슈 가능 ### 디버깅 가이드 **단계 1: HTML 구조 확인** ```html
``` **단계 2: CSS 스타일 확인** ```css /* 스크롤 영역에 있어야 할 스타일 */ overflow-y: scroll; max-height: calc(100vh - 64px); flex: 1 1 0%; ``` **단계 3: 컨텐츠 높이 확인** ``` 스크롤이 생기려면: 컨텐츠 높이 > 컨테이너 높이 ``` ## 시각적 표시 현재 테스트용으로 추가된 표시들: 1. **노란색 박스** (맨 위) - "📏 스크롤 테스트: 이 패널은 스크롤 가능해야 합니다" 2. **회색 배경** (전체 스크롤 영역) - `bg-gray-50` 클래스 3. **빨간색 박스** (중간) - "🚨 스크롤 테스트: 이 빨간 박스가 보이면 스크롤이 작동하는 것입니다!" 4. **20개 테스트 항목** (중간 ~ 아래) - "테스트 항목 1" ~ "테스트 항목 20" 5. **파란색 박스** (맨 아래) - "🎉 맨 아래 도착! 이 파란 박스가 보이면 스크롤이 완벽하게 작동합니다!" ## 제거할 테스트 코드 스크롤이 확인되면 다음 코드를 제거하세요: ### TableSourceProperties.tsx ```tsx // 제거할 부분 1 (줄 172-174)
📏 스크롤 테스트: 이 패널은 스크롤 가능해야 합니다
// 제거할 부분 2 (줄 340-357)
{/* ... */}
{[...Array(20)].map((_, i) => (/* ... */))}
{/* ... */}
``` ### PropertiesPanel.tsx ```tsx // bg-gray-50 제거 (줄 47) // 변경 전: className="flex-1 overflow-y-scroll bg-gray-50" // 변경 후: className="flex-1 overflow-y-scroll" ``` ## 핵심 원리 ``` ┌─────────────────────────────────┐ │ FlowEditor (h-full) │ │ ┌─────────────────────────────┐ │ │ │ PropertiesPanel (h-full) │ │ │ │ ┌─────────────────────────┐ │ │ │ │ │ 헤더 (h-16, shrink-0) │ │ │ ← 고정 64px │ │ └─────────────────────────┘ │ │ │ │ ┌─────────────────────────┐ │ │ │ │ │ 스크롤 영역 │ │ │ │ │ │ (flex-1, overflow-y) │ │ │ │ │ │ │ │ │ │ │ │ ↓ 컨텐츠가 넘치면 │ │ │ │ │ │ ↓ 스크롤바 생성! │ │ │ │ │ │ │ │ │ │ │ └─────────────────────────┘ │ │ │ └─────────────────────────────┘ │ └─────────────────────────────────┘ flex-1 = 남은 공간을 모두 차지 overflow-y: scroll = 세로 스크롤 강제 표시 maxHeight = 넘칠 경우를 대비한 최대 높이 ``` ## 마지막 체크포인트 스크롤이 작동하는지 확인하는 3가지 방법: 1. ✅ **마우스 휠**: 속성 패널 위에서 휠 스크롤 2. ✅ **스크롤바**: 우측에 스크롤바가 보이면 드래그 3. ✅ **키보드**: Page Up/Down 키 또는 방향키 하나라도 작동하면 성공입니다!