from static method
XHorizontalScrollParams?
from(
- XHorizontalScroll widget,
- SSRBuildContext context,
- WidgetMetadata metadata
Implementation
static XHorizontalScrollParams? from(
XHorizontalScroll widget,
SSRBuildContext context,
WidgetMetadata metadata,
) {
final children = _buildChildren(widget.children, context);
if (children.isEmpty) {
return null;
}
bool hasMoreThanOneChildren = children.length > 1;
final indicator = XIndicatorWrappings.from(widget);
return XHorizontalScrollParams(
indicator: indicator.hasIndicator ? indicator : null,
itemPadding: widget.itemPadding.toEdgeInsets(),
itemWidth: widget.itemWidth.toExtent(isDimension: true) ?? 0,
itemHeight: widget.itemHeight.toExtent(isDimension: true) ?? 0,
children: children,
infiniteScroll: hasMoreThanOneChildren && widget.infiniteScroll,
showIndicator: widget.showIndicator &&
indicator.hasIndicator &&
hasMoreThanOneChildren,
snap: widget.snap,
scrollLeftPadding: widget.scrollLeftPadding.toExtent(isDimension: true),
scrollRightPadding: widget.scrollRightPadding.toExtent(isDimension: true),
autoScroll: hasMoreThanOneChildren && (widget.autoScroll ?? false),
autoScrollDuration: widget.autoScrollDurationMs?.ms,
noScroll: !hasMoreThanOneChildren,
);
}