part of 'document_search_cubit.dart'; enum SearchView { suggestions, results; } @JsonSerializable(ignoreUnannotated: true) class DocumentSearchState extends DocumentPagingState { final List searchHistory; final SearchView view; final List suggestions; @JsonKey() final ViewType viewType; const DocumentSearchState({ this.view = SearchView.suggestions, this.searchHistory = const [], this.suggestions = const [], this.viewType = ViewType.detailed, super.filter = const DocumentFilter(), super.hasLoaded, super.isLoading, super.value, }); @override List get props => [ ...super.props, searchHistory, suggestions, view, viewType, ]; @override DocumentSearchState copyWithPaged({ bool? hasLoaded, bool? isLoading, List>? value, DocumentFilter? filter, }) { return copyWith( hasLoaded: hasLoaded, isLoading: isLoading, filter: filter, value: value, ); } DocumentSearchState copyWith({ List? searchHistory, bool? hasLoaded, bool? isLoading, List>? value, DocumentFilter? filter, List? suggestions, SearchView? view, ViewType? viewType, Map? correspondents, Map? documentTypes, Map? tags, Map? storagePaths, }) { return DocumentSearchState( value: value ?? this.value, filter: filter ?? this.filter, hasLoaded: hasLoaded ?? this.hasLoaded, isLoading: isLoading ?? this.isLoading, searchHistory: searchHistory ?? this.searchHistory, view: view ?? this.view, suggestions: suggestions ?? this.suggestions, viewType: viewType ?? this.viewType, ); } factory DocumentSearchState.fromJson(Map json) => _$DocumentSearchStateFromJson(json); Map toJson() => _$DocumentSearchStateToJson(this); }