KanbanBoard
TsgcHTMLComponent_KanbanBoard — render een kanban-board met kolommen en kaarten, met optionele SortableJS sleep-en-neerzet, in Delphi, C++ Builder en .NET.
TsgcHTMLComponent_KanbanBoard — render een kanban-board met kolommen en kaarten, met optionele SortableJS sleep-en-neerzet, in Delphi, C++ Builder en .NET.
Voeg kolommen toe, plaats kaarten in elke kolom (of koppel een dataset gegroepeerd op status), schakel optioneel slepen in en lees dan de HTML-eigenschap.
TsgcHTMLComponent_KanbanBoard
Bootstrap 5-board + scoped CSS (optioneel SortableJS)
Delphi, C++ Builder, .NET
Roep AddColumn aan voor elke baan, voeg kaarten toe met de AddCard van de kolom, schakel DragEnabled in als je wilt herordenen en lees dan HTML.
uses
sgcHTML_Enums, sgcHTML_Component_KanbanBoard;
var
oBoard: TsgcHTMLComponent_KanbanBoard;
oCol: TsgcHTMLKanbanColumn;
begin
oBoard := TsgcHTMLComponent_KanbanBoard.Create(nil);
try
oBoard.BoardID := 'sprint';
oBoard.Height := '500px';
oBoard.DragEnabled := True;
oCol := oBoard.AddColumn('To Do', hcSecondary);
oCol.AddCard('Draft spec', 'Outline the API.', hcLight, 'Ana');
oBoard.AddColumn('Done', hcSuccess);
WebModule.Response := oBoard.HTML; // board + scoped CSS
finally
oBoard.Free;
end;
end;
// Or bind it straight to a dataset (grouped by status):
oBoard.LoadFromDataSet(qryTasks, 'Status', 'Title', 'Notes', 'Owner');
// includes: sgcHTML_Enums.hpp, sgcHTML_Component_KanbanBoard.hpp
TsgcHTMLComponent_KanbanBoard *oBoard = new TsgcHTMLComponent_KanbanBoard(NULL);
try
{
oBoard->BoardID = "sprint";
oBoard->Height = "500px";
oBoard->DragEnabled = true;
TsgcHTMLKanbanColumn *oCol = oBoard->AddColumn("To Do", hcSecondary);
oCol->AddCard("Draft spec", "Outline the API.", hcLight, "Ana");
oBoard->AddColumn("Done", hcSuccess);
String html = oBoard->HTML; // board + scoped CSS
}
__finally
{
delete oBoard;
}
using esegece.sgcWebSockets;
var board = new TsgcHTMLComponent_KanbanBoard();
board.BoardID = "sprint";
board.Height = "500px";
board.DragEnabled = true;
var col = board.AddColumn("To Do", TsgcHTMLColor.hcSecondary);
col.AddCard("Draft spec", "Outline the API.", TsgcHTMLColor.hcLight, "Ana");
board.AddColumn("Done", TsgcHTMLColor.hcSuccess);
string html = board.HTML; // board + scoped CSS
De members die je het vaakst gebruikt.
Columns bevat de banen, elk met een Title, enum Color, ColumnID en een Cards-verzameling.
AddColumn(aTitle, aColor) voegt een baan toe en retourneert de TsgcHTMLKanbanColumn zodat je er kaarten aan kunt blijven toevoegen.
De AddCard(aTitle, aDescription, aColor, aAssignee, aTag, aTagColor) van een kolom voegt een kaart toe met een optionele beschrijving, toegewezene en gekleurde tag-badge.
LoadFromDataSet(aDataSet, aGroupField, aTitleField, aDescField, aAssigneeField) bouwt één kolom per onderscheidende groepswaarde en een kaart per rij.
DragEnabled injecteert SortableJS zodat kaarten tussen kolommen kunnen worden gesleept; laat het uit voor een statisch board.
BoardID identificeert het board; Height begrenst het scrollgebied; HTML retourneert het board plus zijn scoped CSS.