4.1 KiB
4.1 KiB
[체크리스트] 렉 구조 위치코드/위치명 포맷 사용자 설정
공정 상태
- 전체 진행률: 100% (완료)
- 현재 단계: 완료
구현 체크리스트
1단계: 타입 및 기본값 정의
types.ts에FormatSegment인터페이스 추가types.ts에LocationFormatConfig인터페이스 추가types.ts의RackStructureComponentConfig에formatConfig?: LocationFormatConfig필드 추가config.ts에defaultCodeSegments상수 정의 (현재 하드코딩과 동일한 결과)config.ts에defaultNameSegments상수 정의 (현재 하드코딩과 동일한 결과)config.ts에defaultFormatConfig상수 정의config.ts에buildFormattedString()함수 구현 (stripKnownSuffix 방식)
2단계: FormatSegmentEditor 서브컴포넌트 생성
FormatSegmentEditor.tsx신규 파일 생성@dnd-kit/sortable기반 드래그 순서변경 구현- 세그먼트별 체크박스로 한글 라벨 표시/숨김 토글 (showLabel)
- 라벨/구분/자릿수 3개 필드 항상 고정 표시 (빈 값이어도 입력 필드 유지)
- 최상단 컬럼 헤더 추가 (라벨 / 구분 / 자릿수), 각 행에서 텍스트 라벨 제거
- grid 레이아웃으로 정렬 (
grid-cols-[16px_56px_18px_1fr_1fr_1fr]) - 자릿수 필드: 숫자 타입(열, 단)만 활성화, 비숫자 타입은 disabled + 회색 배경
buildFormattedString으로 실시간 미리보기 표시
3단계: ConfigPanel에 포맷 설정 섹션 추가
RackStructureConfigPanel.tsx에 FormatSegmentEditor import- UI 설정 섹션 아래에 "포맷 설정" 섹션 추가
- 위치코드 포맷용 FormatSegmentEditor 배치
- 위치명 포맷용 FormatSegmentEditor 배치
onChange로formatConfig업데이트 연결
4단계: 컴포넌트에서 세그먼트 기반 코드 생성
RackStructureComponent.tsx에서defaultFormatConfigimportgenerateLocationCode함수를 세그먼트 기반으로 교체config.formatConfig || defaultFormatConfig폴백 적용
5단계: 검증
- formatConfig 미설정 시: 기존과 동일한 위치코드/위치명 생성 확인
- ConfigPanel에서 구분자 변경: 미리보기에 즉시 반영 확인
- ConfigPanel에서 라벨 체크 해제: 한글만 사라지고 값은 유지 확인 (예: "A구역" → "A")
- ConfigPanel에서 순서 드래그 변경: 미리보기에 반영 확인
- ConfigPanel에서 라벨 텍스트 변경: 미리보기에 반영 확인
- 설정 저장 후 화면 재로드: 설정 유지 확인
- 렉 구조 모달에서 미리보기 생성: 설정된 포맷으로 생성 확인
- 렉 구조 저장: DB에 설정된 포맷의 코드/이름 저장 확인
6단계: 정리
- 린트 에러 없음 확인
- 미사용 import 제거 (FormatSegmentEditor.tsx: useState)
- 파일 끝 불필요한 빈 줄 제거 (types.ts, config.ts)
- 계획서/맥락노트/체크리스트 최종 반영
- 이 체크리스트 완료 표시 업데이트
변경 이력
| 날짜 | 내용 |
|---|---|
| 2026-03-10 | 계획서, 맥락노트, 체크리스트 작성 완료 |
| 2026-03-10 | 1~4단계 구현 완료 (types, config, FormatSegmentEditor, ConfigPanel, Component) |
| 2026-03-10 | showLabel 로직 수정: 체크박스가 세그먼트 제거가 아닌 한글 라벨만 표시/숨김 처리 |
| 2026-03-10 | 계획서, 맥락노트, 체크리스트에 showLabel 변경사항 반영 |
| 2026-03-10 | UI 개선: 3필드 고정표시 + 컬럼 헤더 + grid 레이아웃 + 자릿수 비숫자 비활성화 |
| 2026-03-10 | 계획서, 맥락노트, 체크리스트에 UI 개선사항 반영 |
| 2026-03-10 | 라벨 필드 비움 시 한글 미제거 버그 수정 (stripKnownSuffix 도입) |
| 2026-03-10 | 코드 정리 (미사용 import, 빈 줄) + 문서 최종 반영 |
| 2026-03-10 | 5단계 검증 완료, 전체 작업 완료 |