[화면명]
Screen ID: /screens/XXX
메뉴 경로: [L2 메뉴] > [L3 메뉴]
1. 테이블 선택 및 화면 구조
1.1 사용 테이블
| 테이블명 |
용도 |
비고 |
table_name |
마스터 데이터 |
주 테이블 |
detail_table |
디테일 데이터 |
FK: master_id |
1.2 테이블 관계
┌─────────────────┐ ┌─────────────────┐
│ master_table │ │ detail_table │
├─────────────────┤ ├─────────────────┤
│ id (PK) │──1:N──│ master_id (FK) │
│ name │ │ id (PK) │
│ ... │ │ ... │
└─────────────────┘ └─────────────────┘
1.3 화면 구조 개요
- 화면 유형: [목록형 / 마스터-디테일 / 단일 폼 / 복합]
- 주요 기능: [CRUD / 조회 / 집계 등]
2. 컴포넌트 배치도
2.1 전체 레이아웃
┌─────────────────────────────────────────────────────────────┐
│ [검색 영역] v2-table-search-widget │
├─────────────────────────────────────────────────────────────┤
│ │
│ [메인 테이블] v2-table-list │
│ │
├─────────────────────────────────────────────────────────────┤
│ [버튼 영역] v2-button-primary (신규, 저장, 삭제) │
└─────────────────────────────────────────────────────────────┘
2.2 컴포넌트 목록
| 컴포넌트 ID |
컴포넌트 타입 |
역할 |
search-widget |
v2-table-search-widget |
검색 필터 |
main-table |
v2-table-list |
데이터 목록 |
btn-new |
v2-button-primary |
신규 등록 |
btn-save |
v2-button-primary |
저장 |
btn-delete |
v2-button-primary |
삭제 |
3. 각 컴포넌트별 설정
3.1 v2-table-search-widget
{
"targetTableId": "main-table",
"searchFields": [
{
"field": "name",
"label": "이름",
"type": "text"
},
{
"field": "status",
"label": "상태",
"type": "select",
"options": [
{ "value": "active", "label": "활성" },
{ "value": "inactive", "label": "비활성" }
]
}
]
}
3.2 v2-table-list
{
"tableName": "master_table",
"columns": [
{
"field": "id",
"headerName": "ID",
"width": 80,
"visible": false
},
{
"field": "name",
"headerName": "이름",
"width": 150
},
{
"field": "status",
"headerName": "상태",
"width": 100
}
],
"features": {
"checkbox": true,
"pagination": true,
"sorting": true
},
"pagination": {
"pageSize": 20
}
}
3.3 v2-button-primary (저장)
{
"label": "저장",
"actionType": "save",
"variant": "default",
"afterSaveActions": ["refreshTable"]
}
4. 컴포넌트 연동 설정
4.1 이벤트 흐름
[검색 입력]
│
▼
v2-table-search-widget
│ onFilterChange
▼
v2-table-list (자동 재조회)
│
▼
[데이터 표시]
4.2 연동 설정
| 소스 컴포넌트 |
이벤트/액션 |
대상 컴포넌트 |
동작 |
| search-widget |
onFilterChange |
main-table |
필터 적용 |
| btn-save |
click |
main-table |
refreshTable |
5. 사용자 사용 예시 시나리오
시나리오 1: 데이터 조회
| 단계 |
사용자 동작 |
기대 결과 |
| 1 |
화면 진입 |
전체 목록 표시 |
| 2 |
검색어 입력 |
필터링된 결과 표시 |
| 3 |
정렬 클릭 |
정렬 순서 변경 |
시나리오 2: 데이터 등록
| 단계 |
사용자 동작 |
기대 결과 |
| 1 |
[신규] 버튼 클릭 |
등록 모달/폼 표시 |
| 2 |
데이터 입력 |
입력 필드 채움 |
| 3 |
[저장] 버튼 클릭 |
저장 완료, 목록 갱신 |
시나리오 3: 데이터 수정
| 단계 |
사용자 동작 |
기대 결과 |
| 1 |
행 더블클릭 |
수정 모달/폼 표시 |
| 2 |
데이터 수정 |
필드 값 변경 |
| 3 |
[저장] 버튼 클릭 |
저장 완료, 목록 갱신 |
시나리오 4: 데이터 삭제
| 단계 |
사용자 동작 |
기대 결과 |
| 1 |
행 체크박스 선택 |
선택 표시 |
| 2 |
[삭제] 버튼 클릭 |
삭제 확인 다이얼로그 |
| 3 |
확인 |
삭제 완료, 목록 갱신 |
6. 검증 체크리스트
7. 참고 사항