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 preserves the current Cupertino refresh flow on iOS
while switching Android to a Material RefreshIndicator. Selection relies
on identity equality by default, so passing the exact selectedItem
instance still works as before. For rebuilt collections or freshly mapped
transport objects, provide itemKeyOf plus either selectedItem or
selectedKey so selection can follow a stable logical key instead.
- 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, Object? selectedKey, Object? itemKeyOf(ItemType item)?, 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 the configured selection semantics.final - itemKeyOf → Object? Function(ItemType item)?
-
Maps an item to a stable logical key for selection comparisons.
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 by default.
final
- selectedKey → Object?
-
Stable selection key used together with itemKeyOf.
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