DraftModeUIList<ItemType> class
Platform-aware grouped list with DraftMode's row styling baked in.
When items is empty the widget renders emptyPlaceholder (falling back
to a zero-sized box) wrapped in a DraftModeUIRow so it lines up with
other grouped elements. The list always draws a platform-aligned divider
between rows; override separator (or pass SizedBox.shrink()) to change
or remove the default line.
Supplying onRefresh automatically switches to a CustomScrollView with
CupertinoSliverRefreshControl while still honouring the list's original
configuration and padding. Selection relies on identity equality, so
pass the exact item instance to selectedItem when you want the trailing
check icon to render.
- Inheritance
-
- Object
- DiagnosticableTree
- Widget
- StatelessWidget
- DraftModeUIList
Constructors
-
DraftModeUIList({Key? key, bool isPending = false, required List<
ItemType> items, required Widget itemBuilder(ItemType item, bool isSelected), ItemType? selectedItem, ValueChanged<ItemType> ? onTap, Widget? emptyPlaceholder, Widget? header, Widget? separator, Future<void> onRefresh()?, EdgeInsetsGeometry? padding, DraftModeUIListDismissible<ItemType> ? dismissible}) -
const
Properties
-
dismissible
→ DraftModeUIListDismissible<
ItemType> ? -
Optional dismissible row behavior such as swipe-to-delete.
final
- emptyPlaceholder → Widget?
-
Widget shown when items is empty.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- header → Widget?
-
Optional leading content rendered above the first row.
final
- isPending → bool
-
Whether a spinner should be shown in place of the list content.
final
- itemBuilder → Widget Function(ItemType item, bool isSelected)
-
Builds the widget for a single item;
isSelectedistruewhen the item matches selectedItem.final -
items
→ List<
ItemType> -
Data entries rendered as rows.
final
- key → Key?
-
Controls how one widget replaces another widget in the tree.
finalinherited
-
onRefresh
→ Future<
void> Function()? -
When non-null, wraps the list in a pull-to-refresh control.
final
-
onTap
→ ValueChanged<
ItemType> ? -
Called when a row is tapped.
final
- padding → EdgeInsetsGeometry?
-
Padding applied around the list view.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selectedItem → ItemType?
-
The currently selected item, matched by identity.
final
- separator → Widget?
-
Custom divider between rows; defaults to a theme-coloured line.
final
Methods
-
build(
BuildContext context) → Widget -
Describes the part of the user interface represented by this widget.
override
-
createElement(
) → StatelessElement -
Creates a StatelessElement to manage this widget's 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