diff --git a/AGENTS.md b/AGENTS.md index 066a6d86..303d4a70 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -99,6 +99,7 @@ All work in this repository MUST follow `docs/CURRENT/WBS_EXECUTION_PROCEDURES.m 2. **Grid Row & Item Context Actions (Table Row Actions)**: Dedicated to **Single-Row CRUD & Processing** (e.g., `βοΈ μμ `, `ποΈ μμ `, `π μμΈλ³΄κΈ°`, `βΆ μ¬μ²λ¦¬`). Placed in a pinned right column or explicit context menu; never placed in page top toolbar. 3. **Multi-Selection Batch Toolbar (Grid Top/Bottom Selection Bar)**: Activated conditionally upon multi-row selection for **Bulk Actions** (e.g., `μ ν μΌκ΄ μΉμΈ(3)`, `μ ν μΌκ΄ μμ `). - **[CRITICAL IRON RULE] Standardized Loading Skeleton Rule**: ALL screen-level and section-level data loading MUST render animated `SkeletonLoader` (shimmer mode) matching the expected layout (e.g. `skeletonType="table"` for grids, `skeletonType="card"` for forms/summaries) through `QueryStateBoundary`/`StandardScreenBoundary`. Static text ("λΆλ¬μ€λ μ€...") or empty screen placeholders during loading states are STRICTLY PROHIBITED. +- **[CRITICAL IRON RULE] Standardized Empty Data State Rule**: When zero records or empty dataset states occur, ALL grids, lists, and summary cards MUST render standard `EmptyStatePlaceholder` component (`π` icon, clear title, descriptive helper text, and optional recovery action button). Blank white spaces or plain `
λ°μ΄ν°κ° μμ΅λλ€
` text tags are STRICTLY PROHIBITED. ## v16.0 Gitea API & CI/CD Automation @@ -360,6 +361,7 @@ Every task β code change, refactor, new feature, tooling, infrastructure β m - [ ] **Viewport Fit (UI):** λμ보λλ₯Ό μ μΈν λͺ¨λ μ 무 νλ©΄μ΄ νμ΄μ§ μ€ν¬λ‘€ μμ΄ μ΄κΈ° λ‘λ© μ 100% νλμ λ€μ΄μ€λκ°? - [ ] **Button Standard (UI):** μλ¨ ν΄λ°(λ°°μΉ/λ±λ‘), νλ³ μμ (μμ /μμΈ), λ€μ€μ ν(μΌκ΄), νΌ νΈν°(μ·¨μ/μ μ₯) λ²νΌ λ°°μΉκ° κ·μΉ λ§€νΈλ¦μ€λ₯Ό λ°λ₯΄λκ°? - [ ] **Skeleton Loading (UI):** λ‘λ© μν μ ν μ€νΈ λμ λ μ΄μμμ λ°μνλ shimmer μ€μΌλ ν€(SkeletonLoader)μ΄ μ λλ‘ λ ΈμΆλλκ°? +- [ ] **Empty State (UI):** λ°μ΄ν° 0건 λλ μ‘°ν κ²°κ³Όκ° μμ μ νμ€ EmptyStatePlaceholder(μμ΄μ½+μ€λͺ +μ‘°μΉλ²νΌ)κ° λ ΈμΆλλκ°? ### Anti-Patterns (κΈμ§) @@ -367,6 +369,7 @@ Every task β code change, refactor, new feature, tooling, infrastructure β m - β "νμ΄μ§μ μ°½ μ€ν¬λ‘€λ°κ° μκΈ°κ² λ°©μΉ" β λμ보λ μ μΈ λͺ¨λ μ 무 νλ©΄μ Viewport-Fit Zero-Scroll νμ - β "λ²νΌ μμΉ λμ‘ λ°°μΉ" β μλ¨ μ°μΈ‘(νμ΄μ§/λ°°μΉ), ν λ΄λΆ(κ°λ³ CRUD), μ νλ°(μΌκ΄), νΌ νΈν°(μ μ₯/μ·¨μ) νμ€ λ¬΄μ κΈμ§ - β "λ‘λ© μ 'λΆλ¬μ€λ μ€...' ν μ€νΈ λ°©μΉ" β λ°λμ λ μ΄μμ λ§μΆ€ν μ λλ©μ΄μ μ€μΌλ ν€(SkeletonLoader) μ μ© νμ +- β "λ°μ΄ν° 0건 μ λΉ ν°μ κ³΅κ° λ°©μΉ" β λ°λμ νμ€ EmptyStatePlaceholder μ»΄ν¬λνΈ λ λλ§ νμ - β "νΉμ νμν κΉλ΄ μΆμν" β Necessity-drivenλ§ - β SELECT * / Generic Repository β Explicit columns, explicit logic - β "μ΄κ±΄ μμ λ³κ²½μ΄λΌ ν μ€νΈ μ€ν΅" β λͺ¨λ κ²½λ‘ characterize diff --git a/frontend/src/shared/ui/DataGridShell.vue b/frontend/src/shared/ui/DataGridShell.vue index b6854cf2..6bf4c71e 100644 --- a/frontend/src/shared/ui/DataGridShell.vue +++ b/frontend/src/shared/ui/DataGridShell.vue @@ -1,6 +1,6 @@λ°μ΄ν°λ₯Ό λΆλ¬μ€λ μ€μ λλ€.
-{{ emptyMessage }}
+