{# doto-list-kanban.html - Template for doto task list as a kanban board #}
{#
Context variables:
- columns: List of (status_value, display_label) pairs, in column order.
- grouped: Dict mapping status_value -> list of DotoTask objects in that
column.
- task_links: Dict mapping task.id -> href of the task box (Feature 5).
- icon_mode: Effective icon mode ("icon" | "icon-text" | "text").
Available filters:
- row_classes: Get CSS classes for a task.
Client-side nature:
The board is draggable via the vendored, dependency-free doto-views.js.
Dragging a card to another column updates the card's column and status
badge VISUALLY ONLY — a static Sphinx HTML build has no backend to persist
the change, so a reload restores the original layout. The markup degrades
gracefully (a static multi-column board) when JS is unavailable. A child
theme can fully re-author this file via /_doto/templates/html/.
#}
{%- for status, label in columns %}
{{ label }}{{ grouped.get(status, []) | length }}
{%- for task in grouped.get(status, []) %}
{%- set href = (task_links.get(task.id) if task_links is defined else '#' ~ task.id) or ('#' ~ task.id) %}