baseShimmerState method
Widget
baseShimmerState(
- NotifierBuilder<
T?> widget, { - bool validNullable = true,
- Color? baseColor,
- Color? highlightColor,
- Widget onPlaceholderWidget()?,
- String? placeholderEmptyImagePath,
- String? placeholderEmptyTitle,
- String? placeholderEmptyMessage,
- EdgeInsetsGeometry? placeholderPadding,
- void onReloadTap()?,
Implementation
Widget baseShimmerState(
NotifierBuilder<T?> widget, {
bool validNullable = true,
Color? baseColor,
Color? highlightColor,
Widget Function()? onPlaceholderWidget,
String? placeholderEmptyImagePath,
String? placeholderEmptyTitle,
String? placeholderEmptyMessage,
EdgeInsetsGeometry? placeholderPadding,
void Function()? onReloadTap,
}) {
return SimpleBuilder(
builder: (_) {
if (status.isLoading ||
status.isEmpty ||
status.isError ||
(validNullable && state.isEmptyOrNull)) {
if (status.isLoading) {
return BaseShimmer(
visible: status.isLoading,
child: widget(state),
baseColor: baseColor,
highlightColor: highlightColor,
);
}
return Padding(
padding: placeholderPadding ?? EdgeInsets.zero,
child: onPlaceholderWidget != null
? onPlaceholderWidget()
: BasePlaceholderView(
title: getPlaceholderTitle(placeholderEmptyTitle),
message: getPlaceholderMessage(placeholderEmptyMessage),
image: placeholderEmptyImagePath,
onTap: onReloadTap ??
() {
change(null, status: RxStatus.loading());
onRequestData();
},
),
);
}
return widget(state);
},
);
}