buildContent method
Implementation
Widget? buildContent(BuildContext context, Iterable<T>? source) {
//from stream builder or from refresh
if (source == null ||
(source.isEmpty &&
sourceList.indicatorStatus == IndicatorStatus.fullScreenBusying)) {
if (source == null || !sourceList.isLoading) {
if (autoRefresh) {
// first load
if (this is SliverListConfig) {
final SliverListConfig<dynamic> sliverListConfig =
this as SliverListConfig<dynamic>;
// prevent lock list load
if (sliverListConfig.actualLock) {
return const SliverToBoxAdapter(child: SizedBox.shrink());
}
}
sourceList.refresh();
}
}
Widget? widget;
if (indicatorBuilder != null) {
widget = indicatorBuilder!(context, IndicatorStatus.fullScreenBusying);
}
widget = widget ??
IndicatorWidget(
IndicatorStatus.fullScreenBusying,
isSliver: isSliver,
);
return widget;
} else if (source.isEmpty &&
(sourceList.indicatorStatus == IndicatorStatus.empty ||
sourceList.indicatorStatus == IndicatorStatus.fullScreenError)) {
Widget? widget1;
if (indicatorBuilder != null)
widget1 = indicatorBuilder!(context, sourceList.indicatorStatus);
widget1 = widget1 ??
IndicatorWidget(
sourceList.indicatorStatus,
isSliver: isSliver,
tryAgain:
sourceList.indicatorStatus == IndicatorStatus.fullScreenError
? sourceList.errorRefresh
: null,
);
return widget1;
}
return null;
}