seedkit_bloc 0.1.3 copy "seedkit_bloc: ^0.1.3" to clipboard
seedkit_bloc: ^0.1.3 copied to clipboard

Содержит базовые обработчики состояний для экосистемы SeedKit

seedkit_bloc #

seedkit_bloc содержит базовые Bloc, события, состояния и Flutter-виджеты для обработки состояния экранов в приложениях экосистемы SeedKit.

Пакет строится поверх flutter_bloc и дополнительно реэкспортирует его, поэтому в большинстве случаев достаточно одного импорта:

import 'package:seedkit_bloc/seedkit_bloc.dart';

Возможности #

  • BaseBloc<T>: базовый bloc с жизненным циклом init, load, loadMore и update.
  • SearchBloc<T>: расширение BaseBloc с хранением текущего текста поиска.
  • BaseEvent: базовые события для инициализации, загрузки, дозагрузки и обновления данных.
  • BaseState<T>: базовые состояния экрана: initial, loading, loading more, error, success и updated.
  • ViewHandler, UpdatedHandler, ButtonHandler, ListenerHandler: готовые Flutter-виджеты для реакции UI на состояния bloc.

Базовый bloc #

Наследуйтесь от BaseBloc<T>, где T - тип данных, который будет храниться в поле data и передаваться в UpdatedState<T>.

BaseBloc автоматически отправляет InitialEvent при создании, поэтому onInit нужно реализовать обязательно. Методы onLoad, onLoadMore и onUpdate можно переопределять по необходимости.

События #

  • InitialEvent: отправляется автоматически при создании BaseBloc.
  • LoadEvent: используется для загрузки или обновления данных. Поле isRefresh помогает отличать pull-to-refresh от обычной загрузки.
  • LoadMoreEvent: используется для дозагрузки следующей страницы списка.
  • UpdateEvent: вызывает стандартное обновление состояния через UpdatedState(data).

Состояния #

  • InitialState<T>: начальное состояние.
  • LoadingState<T>: основная загрузка данных.
  • LoadingMoreState<T>: дозагрузка дополнительных данных.
  • ErrorState<T>: ошибка с title, subtitle и необязательным onRepeat.
  • SuccessState<T>: успешное действие без передачи данных.
  • UpdatedState<T>: состояние с актуальными данными.

Использование в UI #

Создайте bloc через BlocProvider и обработайте нужные состояния готовыми handler-виджетами.

  • ViewHandler<B, T>: собирает UI для LoadingState, ErrorState и UpdatedState<T>.
  • UpdatedHandler<B, T>: реагирует только на UpdatedState<T>.
  • ButtonHandler<B, T>: удобен для кнопок или нижних элементов списка, где нужно переключаться между UpdatedState<T> и LoadingMoreState.
  • ListenerHandler<B>: оборачивает BlocListener и позволяет выполнять побочные действия при изменении состояния.
0
likes
0
points
439
downloads

Publisher

unverified uploader

Weekly Downloads

Содержит базовые обработчики состояний для экосистемы SeedKit

Repository

License

unknown (license)

Dependencies

dartz, flutter, flutter_bloc

More

Packages that depend on seedkit_bloc