feat: add dashboard ui view

This commit is contained in:
2026-07-14 23:38:54 +05:00
parent cbb97a99ce
commit 4bd3aa0cd1
8 changed files with 747 additions and 30 deletions
+9 -7
View File
@@ -56,7 +56,9 @@ src/
│ └── taskCommands.ts # register + run* handlers
├── views/
│ ├── taskTreeItem.ts
── taskTreeProvider.ts
── taskTreeProvider.ts
│ ├── taskDashboardPanel.ts # WebviewPanel host
│ └── taskDashboardHtml.ts # split layout document
└── utils/
tests/helpers/InMemoryFileSystem.ts
@@ -102,13 +104,13 @@ Split layout: список (filter/group) + detail (editable markdown body).
| `loadDashboard` | folder → `{ tasks }`; `AppError.NO_FOLDER` |
| `saveTaskDescription` | folder + id + description → update body; `NOT_FOUND` / validation |
**Unit-тестами не покрываем** (нужен Extension Host / DOM WebView):
**Host (сделано, unit-тестами не покрываем):**
- `WebviewPanel` create/dispose, HTML/CSS split layout, CSP / local resources
- `postMessage` wiring host ↔ webview (кроме parse inbound payload)
- регистрация `projectTasks.openDashboard`, status bar → open panel
- live refresh watcher → push в webview
- визуальный рендер списка/редактора в editor area
- `TaskDashboardPanel` create/reveal/dispose, state, inbound/outbound
- HTML split: filter/group/list | detail + save description
- `openDashboard` + status bar; watcher / command mutations → `refreshIfOpen`
**По-прежнему только smoke руками:** визуал, CSP, postMessage round-trip
## Зависимости