Patterns / Task board
A task board by status, with assignees
Candor has no board component. DataTable doesn't group rows either: it takes one list of rows and gives search, sort, filter chips, column settings, selection and pages over them. A board by status is built by using it once per status. Filter your tasks into one list per status, and render a DataTable for each under a heading that names the status and the number of tasks in it.
Each table's columns are { id, label, value, render }. value returns the string or number used for sorting and display, and render draws the cell. A task with nobody on it returns null from value, and the table shows a dash, which is honest: unassigned is not the same as an empty name. For an agent assignee, render AgentAvatar at size sm with the agent's AgentIdentity (id, name, role). For a person, show their name, or their email if they have no name. Make the assignee an actual name in the cell, not only an avatar.
AgentRoster and MembersTable are where the assignable people and agents are listed; neither assigns anything. Take the identities from the same source they use. To change an assignee, use your own menu or dialog, and save it on your server before the table moves the task. The status column can use StatusDot with the same run statuses the rest of Candor uses, for a task an agent is working on.
The components
- Data tableProOne table per status: search, sort, filters and pages over its tasks (Pro). It does not group.
- Agent avatarFreeAn agent assignee, named by your app.
- Agent rosterProThe team's agents, to choose assignees from (Pro).
- Members tableProThe account's members, to choose assignees from (Pro).
- Status dotFreeA run's state, for a task an agent is on.
Install
Each component brings in what it depends on. The free ones install as they are; Pro and Premium ones need a licence key.
Good to know
- Left to the app: moving a task between statuses and the rules for it, drag and drop (include a keyboard way to move a task), the assignment flow and who may assign, ordering within a status, and keeping the groups in step when a task changes. DataTable pages each group separately, with ten rows a page unless you set
pageSize. - A status that is a decision, such as "Waiting for approval", needs an approval to match: the table shows a task's state and does not approve it. See the approval pattern.
- If buyers need a board with cards and columns, that would be a component of its own. Candor does not ship one yet.