KAOS/TASKS/reports/T10-report.md
djuka aabdfa9e50 T10: Drag & Drop — premesti task prevlačenjem
- Sortable.js na Kanban board sa drag & drop
- Server-side validacija: allowedMoves mapa, isMoveAllowed()
- Zabranjeni potezi vraćaju 403 (ready→active, active→review)
- Toast notifikacije (zeleni uspeh, crveni greška)
- Ghost/chosen/drag CSS animacije
- Board auto-refresh posle svakog poteza
- 7 novih testova, 90 ukupno — svi prolaze
- T09 premešten u done/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 12:18:50 +00:00

58 lines
1.7 KiB
Markdown

# T10 Izveštaj: Drag & Drop — premesti task prevlačenjem
**Agent:** coder
**Model:** Opus
**Datum:** 2026-02-20
---
## Šta je urađeno
Dodat Sortable.js drag & drop na Kanban board sa server-side validacijom:
### Izmenjeni fajlovi
| Fajl | Izmena |
|------|--------|
| `web/templates/layout.html` | Sortable.js script, initSortable(), toast notifikacije |
| `web/templates/partials/column.html` | column-tasks div sa data-folder atributom |
| `web/static/style.css` | Ghost, chosen, drag stilovi, toast, flash animacije |
| `internal/server/server.go` | allowedMoves mapa, isMoveAllowed(), 403 za zabranjene poteze |
| `internal/server/server_test.go` | 7 novih testova za validaciju i D&D |
### Pravila premještanja (server validira)
| Dozvoljeno | Zabranjeno |
|-----------|------------|
| backlog → ready | ready → active (samo agent) |
| ready → backlog | active → review (samo agent) |
| review → done | backlog → done |
| review → ready | backlog → active |
| done → review | done → backlog |
### Vizuelni feedback
- Ghost: poluprozirna kartica sa dashed borderom
- Chosen: shadow efekat
- Drag: blaga rotacija
- Toast: zeleni za uspeh, crveni za grešku
- Board se automatski osvežava posle svakog poteza
### Testovi — 23/23 PASS (server)
Novi testovi:
```
TestAPIMoveTask_ForbiddenToActive PASS
TestAPIMoveTask_ForbiddenActiveToReview PASS
TestAPIMoveTask_AllowedBacklogToReady PASS
TestAPIMoveTask_AllowedReviewToDone PASS
TestDashboardHTML_HasSortableScript PASS
TestDashboardHTML_HasDataFolderAttributes PASS
TestIsMoveAllowed PASS
```
### Ukupno projekat: 90 testova, svi prolaze
- `go vet ./...` — čist
- `go build ./...` — prolazi