- 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>
58 lines
1.7 KiB
Markdown
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
|