OutlinerListView class
Core outliner list widget without any app-specific UI chrome.
Displays a hierarchical list of editable blocks with drag-and-drop support. All UI states (loading, error, empty) are customizable via builder callbacks.
Example basic usage:
OutlinerListView()
Example with custom styling and builders:
OutlinerListView(
config: OutlinerConfig(
blockStyle: BlockStyle(indentWidth: 32.0),
),
loadingBuilder: (context) => MyCustomLoadingWidget(),
emptyBuilder: (context, onAddBlock) => MyEmptyState(onAdd: onAddBlock),
)
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatefulWidget
- OutlinerListView
Constructors
- OutlinerListView({Key? key, OutlinerConfig config = const OutlinerConfig(), Widget blockBuilder(BuildContext context, Block block)?, Widget editingBlockBuilder(BuildContext context, Block block, TextEditingController controller, FocusNode focusNode, VoidCallback onSubmitted)?, Widget bulletBuilder(BuildContext context, Block block, bool hasChildren, bool isCollapsed, VoidCallback? onToggle)?, InputDecoration textFieldDecorationBuilder(BuildContext context)?, Widget dragFeedbackBuilder(BuildContext context, Block block)?, Widget dropZoneBuilder(BuildContext context, bool isHighlighted, double depth)?, Widget loadingBuilder(BuildContext context)?, Widget errorBuilder(BuildContext context, String errorMessage, VoidCallback onRetry)?, Widget emptyBuilder(BuildContext context, VoidCallback onAddBlock)?})
-
const
Properties
- blockBuilder → Widget Function(BuildContext context, Block block)?
-
Custom builder for rendering block content when not editing
final
- bulletBuilder → Widget Function(BuildContext context, Block block, bool hasChildren, bool isCollapsed, VoidCallback? onToggle)?
-
Custom builder for rendering bullet/collapse indicator
final
- config → OutlinerConfig
-
Configuration for the outliner
final
- dragFeedbackBuilder → Widget Function(BuildContext context, Block block)?
-
Custom builder for drag feedback widget
final
- dropZoneBuilder → Widget Function(BuildContext context, bool isHighlighted, double depth)?
-
Custom builder for drop zone indicators
final
- editingBlockBuilder → Widget Function(BuildContext context, Block block, TextEditingController controller, FocusNode focusNode, VoidCallback onSubmitted)?
-
Custom builder for rendering block content when editing
final
- emptyBuilder → Widget Function(BuildContext context, VoidCallback onAddBlock)?
-
Custom builder for empty state
Parameters: context, callback to add first block
If null, shows simple empty message
final
- errorBuilder → Widget Function(BuildContext context, String errorMessage, VoidCallback onRetry)?
-
Custom builder for error state
Parameters: context, error message, retry callback
If null, shows simple error text with retry button
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
- loadingBuilder → Widget Function(BuildContext context)?
-
Custom builder for loading state
If null, shows a simple centered loading indicator
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- textFieldDecorationBuilder → InputDecoration Function(BuildContext context)?
-
Custom builder for TextField decoration when editing
final
Methods
-
build(
BuildContext context, WidgetRef ref) → Widget - Describes the part of the user interface represented by this widget.
-
createElement(
) → ConsumerStatefulElement -
Creates a StatefulElement to manage this widget's location in the tree.
inherited
-
createState(
) → _ConsumerState -
Creates the mutable state for this widget at a given location in the tree.
inherited
-
debugDescribeChildren(
) → List< DiagnosticsNode> -
Returns a list of DiagnosticsNode objects describing this node's
children.
inherited
-
debugFillProperties(
DiagnosticPropertiesBuilder properties) → void -
Add additional properties associated with the node.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toDiagnosticsNode(
{String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode -
Returns a debug representation of the object that is used by debugging
tools and by DiagnosticsNode.toStringDeep.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringDeep(
{String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String -
Returns a string representation of this node and its descendants.
inherited
-
toStringShallow(
{String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String -
Returns a one-line detailed description of the object.
inherited
-
toStringShort(
) → String -
A short, textual description of this widget.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited