baseState method

Widget baseState(
  1. NotifierBuilder<T?> widget, {
  2. bool validNullable = true,
  3. Widget onPlaceholderWidget()?,
  4. Widget? placeholderEmptyWidget,
  5. String? placeholderEmptyTitle,
  6. String? placeholderEmptyMessage,
  7. TextStyle? placeholderEmptyTitleStyle(
    1. TextStyle
    )?,
  8. TextStyle? placeholderEmptyMessageStyle(
    1. TextStyle
    )?,
  9. EdgeInsetsGeometry? placeholderPadding,
  10. void onReloadTap()?,
})

Implementation

Widget baseState(
  NotifierBuilder<T?> widget, {
  bool validNullable = true,
  Widget Function()? onPlaceholderWidget,
  Widget? placeholderEmptyWidget,
  String? placeholderEmptyTitle,
  String? placeholderEmptyMessage,
  TextStyle? Function(TextStyle)? placeholderEmptyTitleStyle,
  TextStyle? Function(TextStyle)? placeholderEmptyMessageStyle,
  EdgeInsetsGeometry? placeholderPadding,
  void Function()? onReloadTap,
}) {
  return SimpleBuilder(
    builder: (_) {
      if (status.isLoading ||
          status.isEmpty ||
          status.isError ||
          (validNullable && state.isEmptyOrNull)) {
        final titleStyle = Get.isDarkMode
            ? setDarkPlaceholderTitleTextStyle
            : setLightPlaceholderTitleTextStyle;
        final messageStyle = Get.isDarkMode
            ? setDarkPlaceholderMessageTextStyle
            : setLightPlaceholderMessageTextStyle;
        return Padding(
          padding: placeholderPadding ?? EdgeInsets.zero,
          child: onPlaceholderWidget != null
              ? onPlaceholderWidget()
              : BasePlaceholderView(
                  title: getPlaceholderTitle(placeholderEmptyTitle),
                  message: getPlaceholderMessage(placeholderEmptyMessage),
                  image: placeholderEmptyWidget,
                  titleStyle: placeholderEmptyTitleStyle?.call(titleStyle),
                  messageStyle:
                      placeholderEmptyMessageStyle?.call(messageStyle),
                  onTap: onReloadTap ??
                      () {
                        change(null, status: RxStatus.loading());
                        onRequestData();
                      },
                ),
        );
      }
      return widget(state);
    },
  );
}