화면 목록 저장기능

This commit is contained in:
kjs
2025-09-01 17:57:52 +09:00
parent 94ec47afe7
commit 31d25268ce
8 changed files with 544 additions and 104 deletions

View File

@@ -40,6 +40,7 @@
- **왼쪽 목록 UX**: 검색·페이징 도입으로 대량 테이블 로딩 지연 완화
- **Undo/Redo**: 최대 50단계, 단축키(Ctrl/Cmd+Z, Ctrl/Cmd+Y)
- **위젯 타입 렌더링 보강**: code/entity/file 포함 실제 위젯 형태로 표시
- **복사/삭제/붙여넣기 범용화**: 단일/다중/그룹 선택 모두에서 동작. 우클릭 위치 붙여넣기, 단축키(Ctrl/Cmd+C, Ctrl/Cmd+V, Delete) 지원, 상단 툴바 버튼 제공. 클립보드 상태 배지 표시(예: "3개 복사됨", "그룹 복사됨").
### 🎯 **현재 테이블 구조와 100% 호환**
@@ -657,6 +658,33 @@ return <div>Unknown component</div>;
````
### 4. 복사/삭제/붙여넣기 규칙 (구현 완료)
- 대상 범위
- 단일 선택: 선택된 1개 컴포넌트에 대해 복사/삭제/붙여넣기 지원
- 다중 선택: Shift+클릭 또는 마키 선택으로 선택된 여러 컴포넌트 일괄 복사/삭제/붙여넣기 지원
- 그룹 선택: 그룹과 모든 자식 컴포넌트가 하나의 덩어리로 동작
- 동작 규칙
- 복사 시 선택된 컴포넌트들의 바운딩 박스를 계산하여 상대 좌표 유지
- 붙여넣기 시 새 ID로 재생성하고 부모-자식(parentId) 관계 보존
- 기본 붙여넣기 위치는 원본 바운딩 박스 + 오프셋(+20px, +20px)
- 캔버스 우클릭 시 해당 좌표로 붙여넣기 수행(정확 위치 지정)
- UI/피드백
- 상단 툴바에 복사/삭제/붙여넣기 버튼 제공(선택 상황에 따라 표시/활성화)
- 클립보드 상태 배지 표시: 단일(“컴포넌트 복사됨”), 다중(“N개 복사됨”), 그룹(“그룹 복사됨”)
- 단축키
- 복사: Ctrl/Cmd + C
- 붙여넣기: Ctrl/Cmd + V
- 삭제: Delete 또는 Backspace
- 실행 취소/다시 실행: Ctrl/Cmd + Z, Ctrl/Cmd + Y
- 예외 처리
- 선택 없음 상태에서 복사/삭제는 무시
- 클립보드가 비어있는 경우 붙여넣기 무시
## 🔗 테이블 타입 연계
### 1. 웹 타입 설정 방법
@@ -2299,7 +2327,7 @@ export class TableTypeIntegrationService {
- [x] 그룹 단위 이동
- [x] 그룹 UI 단순화(헤더/박스 제거)
- [x] 그룹 내 정렬/균등 분배 도구(아이콘 UI)
- [ ] 그룹 단위 삭제/복사/붙여넣기
- [x] 그룹 단위 삭제/복사/붙여넣기
### 2. 레이아웃 저장/로드