screens/DSKanbanBoard
DSKanbanBoard
screensHorizontally scrolling kanban board with draggable cards between columns. Each column shows a card count and colour-coded header.
iOS 17+macOS 14+
Purpose
Project management, pipeline views, and sprint boards.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| columnsreq | [DSKanbanColumn] | — | Columns with title, colour, and task array. |
| onMovereq | ((DSTask, String) -> Void) | — | Called when a card is dropped in a new column. |
| onCardTap | ((DSTask) -> Void)? | nil | Card tap handler. |
Examples
Sprint board
3-column sprint board.
swift
DSKanbanBoard(
columns: [
DSKanbanColumn(id: "todo", title: "To Do", color: .gray, tasks: viewModel.todoTasks),
DSKanbanColumn(id: "inProgress", title: "In Progress", color: .blue, tasks: viewModel.inProgressTasks),
DSKanbanColumn(id: "done", title: "Done", color: .green, tasks: viewModel.doneTasks),
],
onMove: { task, columnId in viewModel.move(task, to: columnId) },
onCardTap: { task in navigate(.taskDetail(task)) }
)