(this page was created automatically. In case of formatting issues, please visit the official Wiki Page)

Kanban Board

Overview

Example Kanban Board

Specs

Tokens

Token Description
displayName Display name in structure panel
visibilityPolicySetId Controls visibility based on policy sets
id Unique identifier for programmatic access
title Title text displayed at the top of the board
kanbanTitleTranslations Localized board title text
iconsRules Custom icons displayed based on conditions
paddingClass Padding space around the board
elements Columns of the Kanban board
getStatusesDataSourceId Data source for status list
getStatusesHttpRequestParametersMap HTTP parameters for status request
statusesStatusField Field used as status identifier
statusesTitleField Field used as column header
getKanbanItemDataSourceId Data source for Kanban items
getKanbanItemsHttpRequestParametersMap HTTP parameters for item requests
kanbanItemKeyField Unique identifier for each item
kanbanItemsStatusField Field used for item status
kanbanItemTitleTemplate Template for item title
kanbanItemSubtitleTemplate Template for item subtitle
kanbanItemDescriptionTemplate Template for item description
statusPagination Enables server-side pagination for statuses
statusPaginationPageSize Page size for statuses
kanbanItemPagination Enables server-side pagination for items
kanbanItemPaginationPageSize Page size for Kanban items
allowUpdating Enables item updates
updateKanbanItemDataSourceId Data source for updating items
updateKanbanItemHttpRequestParametersMap HTTP parameters for update requests
editDialog Dialog used for editing items
allowAdding Enables creation of new items
addDialog Dialog used for adding new items
allowDeleting Enables item deletion
deleteKanbanItemDataSourceId Data source for deleting items
deleteKanbanItemHttpRequestParametersMap HTTP parameters for delete requests
deleteConfirmation Requires confirmation before deletion
events Configurable component events
ON_INIT (Events) Event on component initialization
ON_DESTROY (Events) Event on component removal
dataTestId Identifier for automated testing
enableAsHotspot Enables guided tour hotspot
guidedTourHotSpotTitle Title for guided tour hotspot
guidedTourHotSpotDescription Description for guided tour hotspot
displayConditions Conditions for component visibility

Structure

(Configured in General Properties)

(Configured in Column Properties)

Labled structure of the Kanban Board

Datasource Board

(Configured in Datasource)

Datasource Kanban Items

(Configured in Datasource)

Data Allocation

(Configured in Datasource)

Styling

(Configured in Visibility Properties)

(Configured in Visual Properties)

Pagination

(Configured in Datasource)

Actions & Variants

Labled Actions

(Configured in Events)

(Configured in Datasource Properties)

Tests

(Configured in Testing Hooks)

Authorization

(Configured in Authorization)

Links

Guidelines

Technical Documentation for Backend Developers

The component requires two main data sources:

  1. Status Data Source: Provides the columns for the Kanban board

    [
      {
        "status": "to-do",
        "titleTranslations": {
          "en-US": "To Do",
          "de-DE": "Zu erledigen"
        }
      },
      {
        "status": "in-progress",
        "titleTranslations": {
          "en-US": "In Progress",
          "de-DE": "In Bearbeitung"
        }
      },
      {
        "status": "done",
        "titleTranslations": {
          "en-US": "Done",
          "de-DE": "Erledigt"
        }
      }
    ]
    
  2. Kanban Items Data Source: Provides the items to be displayed on the board

    [
      {
        "id": "task-1",
        "title": "Create user authentication",
        "description": "Implement login and registration functionality",
        "status": "to-do",
        "assignee": {
          "id": "user-1",
          "name": "Alice Smith"
        },
        "priority": 8
      },
      {
        "id": "task-2",
        "title": "Design database schema",
        "description": "Create ERD and define relationships",
        "status": "in-progress",
        "assignee": {
          "id": "user-2",
          "name": "Bob Johnson"
        },
        "priority": 7
      }
    ]
    

API Endpoints

The component interacts with several endpoints:

  1. Get Statuses: Fetches the available statuses for the board columns
  2. Get Kanban Items: Fetches all items to be displayed on the board
  3. Update Kanban Item: Updates an item's properties (particularly status when dragged between columns)
  4. Create Kanban Item: Creates a new item
  5. Delete Kanban Item: Removes an item from the board

When using pagination, the component expects responses in the following format:

{
  "content": [
    /* array of items */
  ],
  "totalElements": 42,
  "totalPages": 3,
  "number": 0,
  "size": 20,
  "first": true,
  "last": false,
  "empty": false
}

The component maps field names as specified in the configuration, making it adaptable to various API response formats.

Usage

Sizing & Layout

States & Feedback

Interactions & Events

Visibility & Authorization

Content & Localization

Dos & Don’ts

Do Don’t
Localize the board title for all supported locales. Hardcode an English-only heading.
Use conditional icons on cards to communicate state. Rely on color-only cues.
Persist column moves via the board’s update mechanism. Assume drag-and-drop alone saves changes.
Ask for confirmation before deleting an item. Delete immediately without a safety check.
Enable pagination for statuses and items. Load everything at once on large boards.
Build columns from the statuses source fields. Hardcode column names or IDs.
Keep cards concise using title/subtitle/description templates. Put long paragraphs into the title.
Hide the board when out of scope or unauthorized. Show it and rely on backend errors to block action.

Accessibility