대시보드의 TableGrid/차트 위젯에 새로운 타입을 추가할 때 드리프트 없이 5곳(columns 매핑, fetch hook, 에디터 폼, detectType, 모델 DTO) 모두 반영하게 하는 체크리스트 스킬.
대시보드에 새로운 위젯(TableGrid/차트) 타입을 추가할 때 한쪽만 고쳐서 "메뉴는 뜨는데 렌더가 빈 값"이 되는 회귀를 막기 위한 전수 반영 체크리스트.
TableGridType.XXX 같은 enum/리터럴에 신규 값 추가Step 1. columns 매핑 테이블 두 곳 모두 등록
- tableGridTypeToColumns (컬럼 정의)
- tableGridTypeToColumnsMapping (표시명/포맷 매핑)
Step 2. 데이터 fetch hook 분기 추가
- fallbackUrl (타입별 기본 API 경로)
- makeServerSideParams (타입별 쿼리 파라미터 조합)
Step 3. 에디터 폼에 분기 추가
- optionsData 배열에 옵션 추가
- handleChangeType 에 신규 타입 케이스
Step 4. detectType 유틸에 신규 타입 판정 조건 추가
Step 5. 모델/DTO 레이어에 신규 필드(있다면) 선언
- shared/models/... 쪽 위젯 메인 DTO
- 백엔드 DTO @JsonView 범위 동기화
타입이 "사용자가 사전에 만든 설정 중 하나 선택" 형태인 경우 추가 작업:
BE
- Enum 에 API 경로 포함 (예: CUSTOM_TABLE("/api/widget/custom-table/data"))
- 위젯 엔티티/DTO 에 선택 id 필드 추가 (modify/of/ofCopy 전 생성자 모두)
- @JsonView(View.Table.class) 누락 주의
FE
- 타입 선택 시 설정 목록 API(/list) 호출 → 드롭다운 표시
- 선택된 id 저장 (customTableConfigId 등)
- 기존 filter UI (tagFilters/alarmSeverity 등) 숨김 처리
- 데이터 조회 시 id 만 전달, 컬럼은 응답의 columns 동적 사용
CUSTOM_TABLE)로 전수 grep 하는 것이 가장 확실