seedkit_feature_filters 0.2.21
seedkit_feature_filters: ^0.2.21 copied to clipboard
Feature фильтрации экосистемы SeedKit
seedkit_feature_filters #
Пакет фильтрации для SeedKit-приложений.
Интеграция #
- Для экранной фильтрации создай модель фильтра от
FilterModel:
class MyFilter extends FilterModel<MyFilter> {
@override
MyFilter copyWithMerge(MyFilter filter) => filter;
@override
Map<String, dynamic> toMap() => {};
@override
bool get isNull => true;
}
- Для опций реализуй модель с интерфейсом
IFilterItem:
class MyOption implements IFilterItem {
@override
bool? isSelected;
}
Использование #
FilterStateModel<O, F>— абстрактная модель состояния страницы фильтрации.FilterBloc<S, F>— абстрактная бизнес-логика страницы фильтра, события изменения, сброса и выхода.FilterChangeEvent,FilterGoBackEvent,FilterResetEvent.FilterModel<T>— абстрактная модель фильтра сcopyWithMerge,toMap,isNull.IFilterItem— интерфейс параметровFilterOptionsWidget, содержитisSelected.FilterOptionsWidget<O>— виджет единичной/множественной фильтрации опций.FilterOptionsTypeEnum— режимsingleилиmultiple.FilterOptionsShimmerWidget— shimmer-состояние списка опций.
Импорты #
import 'package:seedkit_feature_filters/seedkit_feature_filter_page.dart';
import 'package:seedkit_feature_filters/seedkit_feature_filters_abstract.dart';
import 'package:seedkit_feature_filters/seedkit_feature_filters_interface.dart';
import 'package:seedkit_feature_filters/seedkit_feature_filters_options_widget.dart';