feat: update dashboard view
This commit is contained in:
@@ -2,31 +2,10 @@
|
||||
|
||||
## Dashboard
|
||||
|
||||
[x] **Сохранение по Ctrl+S**
|
||||
[x] **Редактирование в editor (не Save в webview)**
|
||||
|
||||
- В detail (textarea description) — hotkey `Ctrl+S` / `Cmd+S` → тот же flow, что
|
||||
кнопка Save (`saveDescription`).
|
||||
|
||||
[ ] **Форматирование при сохранении (как в VS Code, без force-format)**
|
||||
|
||||
**Почему сейчас не работает:** кнопка Save в Dashboard пишет через
|
||||
`saveTaskDescription` → `repo.update` → `fs.writeFile`. Это **не** save
|
||||
текстового документа в editor. `editor.formatOnSave` / formatters цепляются к
|
||||
`TextDocument` save (`onWillSaveTextDocument` и т.п.), а не к произвольной
|
||||
записи на диск. Обычный Ctrl+S в `.md` / `.task.md` идёт через editor → format
|
||||
применяется. Наша кнопка — другой путь.
|
||||
|
||||
**Не делать:** вручную вызывать prettier/`formatDocument` «всегда» — это не «как
|
||||
в VS Code», а свой форс, игнорит user settings (off / другой formatter).
|
||||
|
||||
**Как сделать «как в VS Code» (если захотим паритет):** UI-адаптер save
|
||||
открывает/берёт `TextDocument` файла задачи, правит body через `WorkspaceEdit`,
|
||||
затем `document.save()` — тогда сработают format-on-save и остальные will-save
|
||||
хуки, **только если** они включены у пользователя. Use-case/repo для
|
||||
headless/тестов можно оставить; editor-save — optional path из host.
|
||||
|
||||
**Пока:** не блокер; format при правке файла в editor уже ок. Ctrl+S в Dashboard
|
||||
без editor-path format не даст.
|
||||
- Dashboard view-only; Edit → файл в editor → Ctrl+S / format-on-save как обычно
|
||||
в VS Code.
|
||||
|
||||
[x] **Кнопка сброса фильтров**
|
||||
|
||||
@@ -37,18 +16,18 @@ headless/тестов можно оставить; editor-save — optional path
|
||||
|
||||
- Chips: critical / high / medium / low → `filter.priorities`.
|
||||
|
||||
[ ] **Dashboard: raw MD ↔ view**
|
||||
[x] **Dashboard: view-only + Edit в editor**
|
||||
|
||||
- В detail переключатель режимов: **view** (текущий UI: meta + textarea body) и
|
||||
**raw** (весь файл как markdown + frontmatter, как в editor).
|
||||
- Редактирование/save в raw — отдельный контракт (parse → task / serialize), не
|
||||
ломать format-on-save историю: raw-save тоже лучше через editor path, если
|
||||
нужен паритет с VS Code.
|
||||
- **View:** meta + body (read-only) в webview.
|
||||
- **Edit:** кнопка → `openTask` + `showTextDocument` — полный `.task.md` в
|
||||
editor.
|
||||
- Use-case `saveTaskRaw` / `applyRawTaskContent` / `saveTaskDescription`
|
||||
остаются для non-webview path.
|
||||
|
||||
[x] **Боковая панель**
|
||||
|
||||
- кнопка открытия dashboard (view title → `xboctukFlow.openDashboard`)
|
||||
- кнопки на задаче (inline): open file, edit in dashboard
|
||||
- кнопки на задаче (inline): open file, open in dashboard
|
||||
(`xboctukFlow.openInDashboard` + preselect), delete
|
||||
- change status остаётся в context menu
|
||||
|
||||
@@ -75,3 +54,7 @@ headless/тестов можно оставить; editor-save — optional path
|
||||
- в списке и detail — scope (Project / Global)
|
||||
- сортировка по **created**: по умолчанию старые сверху (ASC), toggle Newest
|
||||
first
|
||||
|
||||
[ ] **Боковая панель**
|
||||
|
||||
- при изменении настроек должна обновляться (или добавить кнопку refresh)
|
||||
|
||||
Reference in New Issue
Block a user