- 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>
1.7 KiB
1.7 KiB
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 ./...— čistgo build ./...— prolazi