docs : address spec review feedback for my-tasks page
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -13,14 +13,16 @@ Ajouter des `SearchFilter` sur l'entité `Task` pour les champs suivants (en plu
|
|||||||
- `assignee` — filtre exact (par id)
|
- `assignee` — filtre exact (par id)
|
||||||
- `priority` — filtre exact
|
- `priority` — filtre exact
|
||||||
- `effort` — filtre exact
|
- `effort` — filtre exact
|
||||||
- `tags` — filtre exact
|
- `tags` — filtre exact (ManyToMany, query param format : `tags[]=/api/task_tags/1`)
|
||||||
- `status` — filtre exact
|
- `status` — filtre exact
|
||||||
|
|
||||||
|
Désactiver la pagination sur l'opération `GetCollection` de Task (`paginationEnabled: false`) pour charger toutes les tâches filtrées en un seul appel.
|
||||||
|
|
||||||
Aucune migration nécessaire — les filtres sont purement déclaratifs sur des relations existantes.
|
Aucune migration nécessaire — les filtres sont purement déclaratifs sur des relations existantes.
|
||||||
|
|
||||||
Exemple d'appel :
|
Exemple d'appel :
|
||||||
```
|
```
|
||||||
GET /api/tasks?assignee=/api/users/1&archived=false&project=/api/projects/2
|
GET /api/tasks?assignee=/api/users/1&archived=false&project=/api/projects/2&tags[]=/api/task_tags/3
|
||||||
```
|
```
|
||||||
|
|
||||||
## Frontend
|
## Frontend
|
||||||
@@ -52,7 +54,8 @@ Deux boutons icônes en haut à droite (à côté des filtres) :
|
|||||||
|
|
||||||
- Colonnes par statut (ordonnées par `position`), même layout que `projects/[id]/index.vue`
|
- Colonnes par statut (ordonnées par `position`), même layout que `projects/[id]/index.vue`
|
||||||
- Chaque colonne contient les `TaskCard` filtrés ayant ce statut
|
- Chaque colonne contient les `TaskCard` filtrés ayant ce statut
|
||||||
- Les tâches sans statut vont dans une section "Backlog" (sans colonne statut)
|
- Les tâches sans statut vont dans une section "Backlog" en première colonne
|
||||||
|
- Les colonnes de statut sans tâches sont affichées (cohérent avec la vue projet)
|
||||||
- Pas de drag-and-drop (pas pertinent en contexte cross-projet)
|
- Pas de drag-and-drop (pas pertinent en contexte cross-projet)
|
||||||
|
|
||||||
#### Vue Liste
|
#### Vue Liste
|
||||||
@@ -94,10 +97,10 @@ const [tasks, statuses, projects, efforts, priorities, tags, groups, users] = aw
|
|||||||
Ajout dans `frontend/services/tasks.ts` :
|
Ajout dans `frontend/services/tasks.ts` :
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
getFiltered(params: Record<string, string | number | boolean>): Promise<Task[]>
|
getFiltered(params: Record<string, string | number | boolean | string[]>): Promise<Task[]>
|
||||||
```
|
```
|
||||||
|
|
||||||
Construit les query params à partir de l'objet et appelle `GET /api/tasks?...`. Convertit les ids en IRIs si nécessaire.
|
Construit les query params à partir de l'objet et appelle `GET /api/tasks?...`. Convertit les ids en IRIs si nécessaire. Gère les paramètres tableau pour les relations ManyToMany (`tags[]`).
|
||||||
|
|
||||||
### Navigation
|
### Navigation
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user