docs: [documents] 문서양식관리 UI 명칭 반영 (블록 빌더 → 양식 디자이너)

This commit is contained in:
김보곤
2026-03-06 08:56:52 +09:00
parent 29117d65d4
commit 37bbab7cd4

View File

@@ -11,10 +11,12 @@
문서관리 시스템에서 사용하는 **서식(Template)**을 생성, 편집, 복제, 관리하는 기능. 검사 성적서, 작업지시서 등 다양한 문서 양식을 정의하며, 2가지 빌더 타입을 지원한다.
| 빌더 | builder_type | 설명 |
|------|-------------|------|
| **Legacy Builder** | `legacy` 또는 null | 탭 기반 폼 UI (순수 JavaScript) |
| **Block Builder** | `block` | WYSIWYG 캔버스 편집기 (Alpine.js + SortableJS) |
| 빌더 | builder_type | UI 명칭 | 설명 |
|------|-------------|---------|------|
| **Legacy Builder** | `legacy` 또는 null | 새 양식 | 탭 기반 폼 UI (순수 JavaScript) |
| **Block Builder** | `block` | 양식 디자이너 | WYSIWYG 캔버스 편집기 (Alpine.js + SortableJS) |
> **명칭 변경 이력**: Block Builder의 UI 표시 명칭이 '블록 빌더' → '양식 디자이너'로 변경됨 (2026-02-28)
**핵심 기능:**
- 결재선, 기본필드, 검사 기준서, 테이블 컬럼 정의
@@ -32,9 +34,9 @@
```
GET /document-templates → index (목록)
GET /document-templates/create → create (Legacy 신규 생성)
GET /document-templates/block-create → blockCreate (Block Builder 신규 생성)
GET /document-templates/block-create → blockCreate (양식 디자이너 신규 생성)
GET /document-templates/{id}/edit → edit (Legacy 편집)
GET /document-templates/{id}/block-edit → blockEdit (Block Builder 편집)
GET /document-templates/{id}/block-edit → blockEdit (양식 디자이너 편집)
```
### 2.2 API 라우트 (CRUD + 기능)
@@ -220,9 +222,9 @@ if (!empty($template->linked_item_ids)) {
|--------|------|
| `index()` | HTMX 요청 → HX-Redirect 반환 (전체 페이지 로드 강제) |
| `create()` | Legacy 신규 생성 폼 렌더링 |
| `edit($id)` | Legacy 편집. Block Builder 타입이면 `blockEdit`으로 자동 리다이렉트 |
| `blockCreate()` | Block Builder 신규 생성 (빈 캔버스) |
| `blockEdit($id)` | Block Builder 편집 (스키마 로드) |
| `edit($id)` | Legacy 편집. 양식 디자이너 타입이면 `blockEdit`으로 자동 리다이렉트 |
| `blockCreate()` | 양식 디자이너 신규 생성 (빈 캔버스) |
| `blockEdit($id)` | 양식 디자이너 편집 (스키마 로드) |
**공통 데이터 준비:**
@@ -369,7 +371,7 @@ foreach ($data['sections'] as $section) {
```
┌─────────────────────────────────────────────────┐
│ 문서양식관리 │
│ [+ 새 양식 (Legacy)] [+ 양식 디자이너 (Block)]
│ [+ 새 양식] [+ 양식 디자이너]
├─────────────────────────────────────────────────┤
│ 필터: [검색어] [분류 ▼] [활성/비활성/휴지통 ▼] │
├─────────────────────────────────────────────────┤
@@ -391,7 +393,7 @@ foreach ($data['sections'] as $section) {
```
**액션 버튼:**
- **편집**: Legacy`/document-templates/{id}/edit`, Block`/document-templates/{id}/block-edit`
- **편집**: 새 양식`/document-templates/{id}/edit`, 양식 디자이너`/document-templates/{id}/block-edit`
- **복제**: `duplicateTemplate(id)` — 이름 입력 모달 후 POST
- **삭제**: `confirmDelete(id)` — 확인 후 DELETE
- **미리보기**: `previewTemplate(id)` — 모달 표시
@@ -484,7 +486,7 @@ foreach ($data['sections'] as $section) {
measurement_type에 따라 컬럼 타입 결정
```
### 6.3 Block Builder 편집 화면 (`block-editor.blade.php`)
### 6.3 양식 디자이너 편집 화면 (`block-editor.blade.php`)
**3패널 레이아웃:**
@@ -579,7 +581,7 @@ buildDocumentPreviewHtml(data)
└── 비고/종합판정 섹션
```
### 7.2 Block Builder 미리보기
### 7.2 양식 디자이너 미리보기
```javascript
buildBlockPreviewHtml(data)
@@ -732,9 +734,9 @@ htmx.trigger('#template-table', 'filterSubmit') → 테이블 새로고침
---
## 12. Block Builder vs Legacy Builder 비교
## 12. 양식 디자이너(Block Builder) vs 새 양식(Legacy Builder) 비교
| 항목 | Block Builder | Legacy Builder |
| 항목 | 양식 디자이너 | 새 양식 |
|------|:------------:|:-------------:|
| builder_type | `block` | `legacy` 또는 null |
| 편집 UI | WYSIWYG 캔버스 (Alpine.js) | 탭 폼 (순수 JavaScript) |
@@ -805,7 +807,7 @@ GET /v1/document-templates/{id} → show (상세)
| 모델 (8개) | `mng/app/Models/DocumentTemplate*.php` |
| 뷰 - 목록 | `mng/resources/views/document-templates/index.blade.php` |
| 뷰 - Legacy 편집 | `mng/resources/views/document-templates/edit.blade.php` |
| 뷰 - Block Builder | `mng/resources/views/document-templates/block-editor.blade.php` |
| 뷰 - 양식 디자이너 | `mng/resources/views/document-templates/block-editor.blade.php` |
| 뷰 - 테이블 | `mng/resources/views/document-templates/partials/table.blade.php` |
| 뷰 - 미리보기 | `mng/resources/views/document-templates/partials/preview-modal.blade.php` |
| API 서비스 | `api/app/Services/DocumentTemplateService.php` |