KAOS/TASKS/backlog/T10.md
djuka 04ef8e75ef T08: HTTP server + API za taskove
- Gin HTTP server sa dashboard i API endpointima
- JSON API: GET /api/tasks, GET /api/task/:id, POST /api/task/:id/move
- HTML dashboard sa Kanban prikazom (5 kolona)
- HTMX za interaktivnost (klik na task → detalj panel)
- Embedded static fajlovi (htmx.min.js, sortable.min.js)
- Config: dodat KAOS_PORT
- 10 server testova, 77 ukupno — svi prolaze
- Očišćeni duplikati taskova iz v0.1

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

2.0 KiB

T10: Drag & Drop — premesti task prevlačenjem

Kreirao: planer Datum: 2026-02-20 Agent: coder Model: Sonnet Zavisi od: T09


Opis

Dodaj Sortable.js na kanban board — prevuci task iz jedne kolone u drugu. Na drop, HTMX pošalje POST i Go premesti fajl.

Fajlovi za izmenu

code/web/
├── templates/
│   ├── dashboard.html         ← dodaj Sortable inicijalizaciju
│   └── partials/
│       └── column.html        ← dodaj sortable atribute
└── static/
    └── style.css              ← drag stilovi (ghost, placeholder)

Kako radi

<div class="column" id="col-ready" data-folder="ready">
  <div class="task-card" data-id="T08">...</div>
</div>

<script>
document.querySelectorAll('.column').forEach(col => {
  new Sortable(col, {
    group: 'tasks',
    animation: 150,
    onEnd: function(evt) {
      const taskId = evt.item.dataset.id;
      const toFolder = evt.to.dataset.folder;
      htmx.ajax('POST', `/task/${taskId}/move?to=${toFolder}`, {
        target: '#board',
        swap: 'outerHTML'
      });
    }
  });
});
</script>

Pravila premestanja

Dozvoljena kretanja:

  • backlog → ready (operater odobri)
  • ready → backlog (operater povuče nazad)
  • review → done (operater odobri)
  • review → ready (operater vrati na doradu)

Zabranjena kretanja (agent radi ovo, ne operater):

  • ready → active (samo agent)
  • active → review (samo agent)

Server validira i odbije nedozvoljene poteze sa porukom.

Vizuelni feedback

  • Drag: kartica postaje poluprozirna
  • Drop zona: highlight kad se kartica prevlači iznad
  • Uspešan drop: zeleni flash
  • Neuspešan drop: crveni flash + kartica se vrati

Testovi

  • Premesti T08 iz backlog u ready → fajl premešten, board ažuriran
  • Pokušaj premesti u active → server odbije, kartica se vrati
  • Drag & drop ne kvari postojeći klik za detalj

Očekivani izlaz

Prevuci task iz kolone u kolonu. Server premesti fajl. Board se ažurira.


Pitanja


Odgovori