feat: drag & drop de fichiers dans l'arborescence (portion 5)
- Backend: nouvel endpoint POST /api/move/{vault_name} pour déplacer
fichiers et dossiers vers un autre répertoire parent
- Frontend: module dragdrop.js avec délégation d'événements sur le
vault-tree (dragstart, dragover, dragleave, drop)
- CSS: styles pour drag-source, drag-valid-target, drag-over
- Protections: pas de drop sur soi-même, pas dans un enfant,
pas de cross-vault
- Mise à jour de l'index et broadcast SSE après move
- ROADMAP: portion 5 marquée comme complétée
This commit is contained in:
+8
-2
@@ -116,9 +116,15 @@
|
||||
- [x] **Fermeture** : bouton ✕ par onglet dans le switcher
|
||||
- [x] **Overlay** : tap à l'extérieur pour fermer le sheet
|
||||
|
||||
### 5. Drag & drop de fichiers
|
||||
### ✅ 5. Drag & drop de fichiers — FAIT
|
||||
- **Effort** : 1-2 jours | **Impact** : 🟡
|
||||
- Déplacer/réorganiser dans l'arborescence
|
||||
- Déplacer/réorganiser dans l'arborescence ✅
|
||||
- **Fichiers** : `backend/main.py` (endpoint `POST /api/move/{vault_name}`), `frontend/js/dragdrop.js`, `frontend/js/app.js`, `frontend/style.css`
|
||||
- [x] **Endpoint backend** : `POST /api/move/{vault_name}` — déplace fichiers et dossiers vers un autre répertoire parent, même vault
|
||||
- [x] **Drag & drop frontend** : glisser-déposer les `.tree-item` (fichiers et dossiers) vers les dossiers ou la racine d'un vault
|
||||
- [x] **Indicateurs visuels** : opacité réduite sur l'élément source, outline en pointillé sur les cibles valides, surbrillance sur la cible active
|
||||
- [x] **Protection** : pas de drop sur soi-même, pas de drop dans un enfant, pas de cross-vault
|
||||
- [x] **SSE + index** : mise à jour de l'index et broadcast SSE après move
|
||||
|
||||
### 6. Diff viewer backups
|
||||
- **Effort** : 1 jour | **Impact** : 🟢
|
||||
|
||||
Reference in New Issue
Block a user