syncfusion-react-kanban

Implement Syncfusion React Kanban component for flexible task management and workflow visualization. Use this when building kanban boards, workflow stages, or card-based task management systems. This skill covers drag-and-drop card operations, swimlane organization, WIP limit validation, custom card

By syncfusion · 614 installs

npx skills add syncfusion/react-ui-components-skills --skill syncfusion-react-kanban

Source repository · Upstream listing

Implementing Syncfusion React Kanban A comprehensive skill for working with Syncfusion's React Kanban component to build flexible task management boards with cards, columns, swimlanes, and drag and drop interactions. When to Use This Skill Use this skill when you need to: Install and set up the Kanban component with Syncfusion Create a basic Kanban board with columns and cards Organize cards in swimlanes (group by category/assignee) Implement drag and drop functionality between columns and swimlanes Configure card displays with headers, content, templates, and tags Bind data from arrays or APIs (DataManager, OData, REST) Handle user interactions (card selection, drag events, double click to edit) Add dialogs for card creation and editing Customize appearance with themes, CSS, and responsive design Validate card counts with WIP (work in progress) min/max limits Configure sorting, filtering, and search functionality Apply custom tooltips, templates, and styling Implement virtual scrolling for large datasets Save board state and configuration Component Overview The Kanban component provides a visual task management system with these core concepts: Cards : Represent tasks or items. Each card displays a header (from a field) and content (from another field). Cards can have tags, custom templates, and be selected individually or in groups. Columns : Define workflow stages (e.g., "To Do", "In Progress", "Done"). Each column has a header, can display item counts, and control drag/drop behavior independently. Swimlanes : Optional horizontal grouping layers that organize cards by category (e.g., by user, priority, or team). Swimlanes help with organization and can have custom headers. Drag and Drop : Built in support for moving cards between columns, within columns, across swimlanes, or to external sources. Fully configurable per column. Data Binding : Connect to static arrays or dynamic sources (DataManager with OData/REST APIs) for real time updates. Templates : Customize card layout, column headers, swimlane headers, tooltips, and dialogs with your own HTML/JSX. Documentation and Navigation Guide Choose the reference that matches your current need: Getting Started 📄 Read: [references/getting started.md](references/getting started.md) Installing @syncfusion/ej2 react kanban CSS theme imports (Material, Bootstrap, Fluent, Tailwind) Basic Kanban component setup Configuring dataSource and field mappings First working example Core Structure (Cards, Columns, Key Fields) 📄 Read: [references/core structure.md](references/core structure.md) Card properties and cardSettings configuration Column definition and properties keyField mapping (linking cards to columns) showHeader, showAddButton, showItemCount Card templates and styling options When to use default vs custom card layouts Swimlanes (Grouping Cards by Category) 📄 Read: [references/swimlanes.md](references/swimlanes.md) What swimlanes are and when to use them swimlaneSettings configuration Grouping cards by category, user, priority, or team Swimlane headers and custom rendering Nested vs flat layout variations Drag and Drop (Moving Cards and Managing Flow) 📄 Read: [references/drag and drop.md](references/drag and drop.md) Internal drag and drop (column to column, within columns) External drag and drop (Kanban to Kanban, to external sources) allowDragAndDrop, allowDrag, allowDrop per column transitionColumns to control valid transitions Drag event handlers and preventing drops Data Binding (Connecting to Data Sources) 📄 Read: [references/data binding.md](references/data binding.md) Binding to static JSON arrays DataManager integration with OData and REST APIs Remote data sources and refresh patterns Modifying data and triggering updates Real time data synchronization Templates and Dialogs (Custom Content and Card Editing) 📄 Read: [references/dialogs and templates.md](references/dialogs and templates.md) Card templates (custom card layout) Column header templates Swimlane header templates Tooltip templates and configuration Dialog setup for adding/editing cards Template syntax and event handling Sorting, Filtering, and Work in Progress (WIP) Validation 📄 Read: [references/sorting filtering and search.md](references/sorting filtering and search.md) Sort settings and card ordering Min/max card count per column (WIP limits) Allow sorting and searching Filtering and search patterns Selection modes (Single/Multiple) Handling validation errors Customization and Styling (Themes, Responsive, Advanced Features) 📄 Read: [references/customization and styling.md](references/customization and styling.md) Built in themes (Material, Bootstrap, Fluent, Tailwind) CSS customization and variables Responsive design behavior Virtual scrolling for large datasets Persistence (saving card state to storage) Localization (multi language support) Accessibility (ARIA, keyboard navigation) Properties (Configuration and Settings) 📄 Read: [references/properties.md](references/properties.md) All configurable properties with type definitions cardSettings, columns, swimlaneSettings configuration Core properties (allowDragAndDrop, keyField, dataSource) Dialog settings and advanced options Complete configuration examples Decision trees for common configuration patterns Methods (Programmatic Control and Actions) 📄 Read: [references/methods.md](references/methods.md) Card management (addCard, updateCard, deleteCard) Column management (addColumn, deleteColumn, hideColumn, showColumn) Data access methods (getSelectedCards, getCardDetails, getColumnData, getSwimlaneData) UI control methods (showSpinner, hideSpinner, refreshUI, openDialog, closeDialog) Common programmatic patterns (bulk operations, reordering, duplication) Using refs to access methods from parent components Events (Handling User Interactions and Data Changes) 📄 Read: [references/events.md](references/events.md) Card events (cardClick, cardDoubleClick, cardRendered, cardSelectionChanging) Dialog events (dialogOpen, dialogClose) Drag drop events (dragStart, drag, dragStop) Data events (dataBinding, dataBound, actionBegin, actionComplete, actionFailure) Lifecycle events (created) Event validation and prevention patterns Quick Start Example Here's a minimal Kanban board with 3 columns and 5 cards: What this does: Creates 3 workflow columns (Open, InProgress, Closed) Maps cards to columns using the Status field Displays 5 cards with their Summary text Enables drag and drop by default Common Patterns Pattern 1: Add Swimlanes to Group Cards by User Cards are now grouped horizontally by the Assignee field, making it easy to see each user's tasks. Pattern 2: Prevent Drag Drop in Specific Columns Users can drag cards into "Open", but once in "Closed", cards are locked (read only). Pattern 3: Validate Card Counts with WIP Limits The board will warn users if column has fewer than 1 or more than 5 cards, enforcing work in progress limits. Pattern 4: Handle Card Double Click to Edit This pattern enables inline editing workflows. Pattern 5: Bind Kanban to a Remote API