loaderV2 method

Widget loaderV2(
  1. Widget builder(
    1. BuildContext context,
    2. T data
    ), {
  2. Future<T> runner()?,
  3. bool when(
    1. JobCubitState<T, F> previousState,
    2. JobCubitState<T, F> currentState
    )?,
  4. WidgetBuilder? placeholder,
  5. bool provide = false,
  6. bool noRetryAppBar = false,
  7. void onSuccess(
    1. T
    )?,
  8. VoidCallback? onFailure,
  9. VoidCallback? onRetry,
  10. JobErrorBuilder? errorPlaceholder,
  11. bool isSliver = false,
  12. bool animateTransitions = true,
})

Implementation

Widget loaderV2(
  Widget Function(BuildContext context, T data) builder, {
  Future<T> Function()? runner,
  bool Function(JobCubitState<T, F> previousState,
          JobCubitState<T, F> currentState)?
      when,
  WidgetBuilder? placeholder,
  bool provide = false,
  bool noRetryAppBar = false,
  void Function(T)? onSuccess,
  VoidCallback? onFailure,
  VoidCallback? onRetry,
  JobErrorBuilder? errorPlaceholder,
  bool isSliver = false,
  bool animateTransitions = true,
}) {
  return JobCubitLoader<T, F>(
    isSliver: isSliver,
    animateTransitions: animateTransitions,
    builder: (context, state) {
      return builder(context, state.builtData.data);
    },
    fetcher: () => run(runner ??
        this.runner ??
        () => throw ValueError('Runner is not defined')),
    cubit: this,
    when: when,
    placeholder: placeholder,
    provide: provide,
    onSuccess: onSuccess,
    onFailure: onFailure,
    onRetry: onRetry,
    noRetryAppBar: noRetryAppBar,
    errorPlaceholder: errorPlaceholder,
  );
}