flexi_board library
Multi-board drag-and-drop for Flutter — mechanism first, optional default UI.
Classes
-
DefaultBoardCard<
T> -
Default card chrome when
cardBuilderis omitted. -
DefaultBoardTab<
T> -
Default board tab when
boardTabBuilderis omitted. -
DefaultColumnHeader<
T> -
Default column header when
columnHeaderBuilderis 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< columns}) → FlexiBoardWorkspace<T> >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) -
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)