StatusChangeTileBuilder constructor
StatusChangeTileBuilder({
- required int itemCount,
- IndexedWidgetBuilder? contentsBuilder,
- IndexedWidgetBuilder? oppositeContentsBuilder,
- IndexedWidgetBuilder? indicatorBuilder,
- IndexedWidgetBuilder? startConnectorBuilder,
- IndexedWidgetBuilder? endConnectorBuilder,
- dynamic itemExtentBuilder(
- int index
- dynamic nodePositionBuilder(
- int index
- dynamic nodeItemOverlapBuilder(
- int index
Implementation
factory StatusChangeTileBuilder({
required int itemCount,
IndexedWidgetBuilder? contentsBuilder,
IndexedWidgetBuilder? oppositeContentsBuilder,
IndexedWidgetBuilder? indicatorBuilder,
IndexedWidgetBuilder? startConnectorBuilder,
IndexedWidgetBuilder? endConnectorBuilder,
Function(int index)? itemExtentBuilder,
Function(int index)? nodePositionBuilder,
Function(int index)? nodeItemOverlapBuilder,
}) {
final effectiveContentsBuilder = _createAlignedContentsBuilder(
contentsBuilder: contentsBuilder!,
oppositeContentsBuilder: oppositeContentsBuilder,
);
final effectiveOppositeContentsBuilder = _createAlignedContentsBuilder(
contentsBuilder: oppositeContentsBuilder!,
oppositeContentsBuilder: contentsBuilder,
);
return StatusChangeTileBuilder._(
(context, index) {
final tile = StatusChangeTile(
mainAxisExtent: itemExtentBuilder?.call(index),
node: TimelineNode(
startConnector: startConnectorBuilder?.call(context, index),
endConnector: endConnectorBuilder?.call(context, index),
position: nodePositionBuilder?.call(index),
indicator: indicatorBuilder!.call(context, index),
),
contents: effectiveContentsBuilder(context, index),
oppositeContents: effectiveOppositeContentsBuilder(context, index),
);
return tile;
},
itemCount: itemCount,
);
}