Element - Kanban
The CElement_Component_Kanban component renders a kanban board with draggable cards organized into columns (lists).
Create a kanban board:
$app = c::app();
$kanban = CElement_Component_Kanban::factory();
$todo = $kanban->addList()->setTitle('To Do');
$todo->addItem()->add('Design mockup');
$todo->addItem()->add('Write documentation');
$progress = $kanban->addList()->setTitle('In Progress');
$progress->addItem()->add('Implement API');
$done = $kanban->addList()->setTitle('Done');
$done->addItem()->add('Setup project');
$app->add($kanban);
return $app;
Lists
Add columns to the board using addList():
$kanban = CElement_Component_Kanban::factory();
$list = $kanban->addList();
$list->setTitle('Backlog');
Save Callback
Handle card reordering with a server-side callback:
$kanban->setSaveCallback(function ($data) {
// $data contains the new card positions
// Save to database
});
Use Case
Kanban boards are ideal for task management, workflow visualization, and status tracking interfaces where items move between stages.