flexi_board library

Multi-board drag-and-drop for Flutter — mechanism first, optional default UI.

Classes

DefaultBoardCard<T>
Default card chrome when cardBuilder is omitted.
DefaultBoardTab<T>
Default board tab when boardTabBuilder is omitted.
DefaultColumnHeader<T>
Default column header when columnHeaderBuilder is omitted.
DragSession
Active drag state shared across board widgets.
FlexiBoard<T>
Plug-and-play multi-board drag-and-drop surface.
FlexiBoardBoard<T>
A single board containing columns (and optional swimlanes).
FlexiBoardCard<T>
A card on a board column.
FlexiBoardCardDragDetails
FlexiBoardColumn<T>
A column (lane) within a board.
FlexiBoardColumnReorder
Column reorder within a board.
FlexiBoardController<T>
Optional convenience controller — hosts may ignore this and own state themselves.
FlexiBoardDragDetails<T>
Payload for FlexiBoard.onDrag.
FlexiBoardDropDetails<T>
Payload for FlexiBoard.onDrop.
FlexiBoardMove<T>
Describes a completed (or proposed) card move within or across boards.
FlexiBoardPhysics
Tunables for drag feel and edge auto-scroll.
FlexiBoardPolicies<T>
Drop acceptance, drag-start gates, and WIP helpers.
FlexiBoardScope<T>
FlexiBoardSwimlane<T>
Horizontal grouping of cards via a filter.
FlexiBoardTheme
Visual tokens for default board chrome.
FlexiBoardWorkspace<T>
Root workspace holding one or more boards.
MoveHistory<T>
Records move history for debugging / analytics.
UndoStack<T>
Immutable undo/redo stack of workspace snapshots.

Functions

cardBelongsToSwimlane<T>(FlexiBoardCard<T> card, bool filter(FlexiBoardCard<T>)) → bool
Simple WIP helpers used by default UI.
computeInsertIndex({required double localY, required List<double> itemCenters, required int itemCount, int? draggingFromIndex, bool sameColumn = false}) → int
Computes insert index from a Y position within a card list.
workspaceFromColumns<T>({required String boardId, required String boardTitle, required List<FlexiBoardColumn<T>> columns}) → FlexiBoardWorkspace<T>
Helper to build a simple single-board workspace.

Typedefs

FlexiBoardBoardTabBuilder<T> = Widget Function(BuildContext context, FlexiBoardBoard<T> board, bool selected, bool dragHover)
FlexiBoardCardBuilder<T> = Widget Function(BuildContext context, FlexiBoardCard<T> card, FlexiBoardCardDragDetails details)
FlexiBoardColumnFooterBuilder<T> = Widget Function(BuildContext context, FlexiBoardColumn<T> column)
FlexiBoardColumnHeaderBuilder<T> = Widget Function(BuildContext context, FlexiBoardColumn<T> column)
FlexiBoardColumnListWrapper<T> = Widget Function(BuildContext context, FlexiBoardColumn<T> column, Widget list)
Wraps a column’s vertical card list (the same ListView used for cards and placeholders). Use for pull-to-refresh, infinite scroll, etc.
FlexiBoardDragCallback<T> = void Function(FlexiBoardDragDetails<T> details)
FlexiBoardDropCallback<T> = void Function(FlexiBoardDropDetails<T> details)
FlexiBoardEmptyColumnBuilder<T> = Widget Function(BuildContext context, FlexiBoardColumn<T> column)
FlexiBoardSwimlaneHeaderBuilder<T> = Widget Function(BuildContext context, String swimlaneId, String title)