Documentation / Guides
Examples
SERVER EXAMPLES / 04
Contractual obligations
The Hono JSX adapter packages the required markup and event binding into a component; this guide uses it to send moves to its in-browser fixture. The Go example writes the same DOM withhtml/template and handles moves on the server. Your page chooses the Datastar action that receives each event.
Hono JSX
const move = {
event: "rocket-kanban-move",
attrs: {
"data-on:rocket-kanban-move":
"$cardId = evt.detail?.['cardId'] ?? null; " +
"$col = evt.detail?.['col'] ?? null; " +
"$before = evt.detail?.['before'] ?? null; @post('/move')",
},
};
<KanbanBoard id="kanban-board" columns={columns} move={move} />Go template
<rocket-kanban-board id="kanban-board"
data-on:rocket-kanban-move="$cardId = evt.detail?.['cardId'] ?? null;
$col = evt.detail?.['col'] ?? null;
$before = evt.detail?.['before'] ?? null; @post('/move')">
{{range .Columns}}
<section data-kanban-lane="" data-col="{{.ID}}">
<div data-kanban-lane-cards="">
{{range .Cards}}
<article data-kanban-card="{{.ID}}" tabindex="0">{{.Title}}</article>
{{end}}
</div>
</section>
{{end}}
</rocket-kanban-board>