buildContent method
Implementation
Widget? buildContent(BuildContext context, LoadingMoreBase<T>? source) {
//from stream builder or from refresh
if (source == null ||
(source.isEmpty &&
source.indicatorStatus
is IndicatorStatusModelWithFullScreenBusying)) {
if (source == null || !source.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, IndicatorStatusModel.fullScreenBusying());
}
widget = widget ??
IndicatorWidget(
IndicatorStatusModel.fullScreenBusying(),
isSliver: isSliver,
);
return widget;
} else if (source.isEmpty &&
(source.indicatorStatus is IndicatorStatusModelWithEmpty ||
source.indicatorStatus
is IndicatorStatusModelWithFullScreenError)) {
Widget? widget1;
if (indicatorBuilder != null)
widget1 = indicatorBuilder!(context, sourceList.indicatorStatus);
widget1 = widget1 ??
IndicatorWidget(
sourceList.indicatorStatus,
isSliver: isSliver,
tryAgain: source.indicatorStatus
is IndicatorStatusModelWithFullScreenError
? sourceList.errorRefresh
: null,
);
return widget1;
}
return null;
}