1import 'package:bloc/bloc.dart';
2import 'package:equatable/equatable.dart';
4import '../../../../../core/error/failures.dart';
5import '../../../../../core/services/service_locator.dart';
6import '../../../domain/entities/res/res_weekly_collection_entity.dart';
7import '../../../domain/usecases/get_weekly_collections_usecase.dart';
9part
'weekly_collections_event.dart';
10part
'weekly_collections_state.dart';
25 Emitter<WeeklyCollectionsState> emit,
27 emit(WeeklyCollectionsLoading());
50 SearchWeeklyCollectionsEvent event,
51 Emitter<WeeklyCollectionsState> emit,
56 final query =
event.query.toLowerCase();
57 return collection.city!.toLowerCase().contains(query) ||
58 collection.supplierName!.toLowerCase().contains(query) ||
59 collection.internalCode!.toLowerCase().contains(query);
62 emit(currentState.copyWith(
71 Emitter<WeeklyCollectionsState> emit,
75 final selectedCollections = Set<ResWeeklyCollectionEntity>.from(currentState.selectedCollections);
88 ClearSelectionEvent event,
89 Emitter<WeeklyCollectionsState> emit,
98 SelectAllCollectionsEvent event,
99 Emitter<WeeklyCollectionsState> emit,
103 emit(currentState.copyWith(
104 selectedCollections: Set<ResWeeklyCollectionEntity>.from(currentState.filteredCollections),
sealed class AuthenticationState extends Equatable failure
sealed class CheckInOutEvent extends Equatable userId
void _onToggleCollectionSelection(ToggleCollectionSelectionEvent event, Emitter< WeeklyCollectionsState > emit,)
final GetWeeklyCollectionsUseCase getWeeklyCollectionsUseCase
void _onSelectAllCollections(SelectAllCollectionsEvent event, Emitter< WeeklyCollectionsState > emit,)
void _onClearSelection(ClearSelectionEvent event, Emitter< WeeklyCollectionsState > emit,)
Future< void > _onLoadWeeklyCollections(LoadWeeklyCollectionsEvent event, Emitter< WeeklyCollectionsState > emit,) async
void _onSearchWeeklyCollections(SearchWeeklyCollectionsEvent event, Emitter< WeeklyCollectionsState > emit,)
sealed class CollectionsState extends Equatable collections
GetWeeklyCollectionsUseCase({required this.repository})
final Set< ResWeeklyCollectionEntity > selectedCollections
class SearchWeeklyCollectionsEvent extends WeeklyCollectionsEvent collection
const ToggleCollectionSelectionEvent({required this.collection})
const LoadWeeklyCollectionsEvent({ required this.userId, required this.startDate, required this.endDate, })
const WeeklyCollectionsLoaded({ required this.allCollections, required this.filteredCollections, required this.selectedCollections, this.searchQuery='', })
sealed class WeeklyCollectionsState extends Equatable allCollections
final List< ResWeeklyCollectionEntity > filteredCollections