copyWith method

SearchState copyWith({
  1. String? searchText,
  2. Set<String>? selectedFilters,
  3. List<SearchFilter>? visibleFilters,
  4. SearchStatus? conversationsStatus,
  5. List<Conversation>? conversations,
  6. bool? hasMoreConversations,
  7. SearchStatus? messagesStatus,
  8. List<BaseMessage>? messages,
  9. bool? hasMoreMessages,
  10. SearchScope? scope,
  11. bool? showConversations,
  12. bool? showMessages,
  13. String? errorMessage,
  14. bool clearError = false,
})

Implementation

SearchState copyWith({
  String? searchText,
  Set<String>? selectedFilters,
  List<SearchFilter>? visibleFilters,
  SearchStatus? conversationsStatus,
  List<Conversation>? conversations,
  bool? hasMoreConversations,
  SearchStatus? messagesStatus,
  List<BaseMessage>? messages,
  bool? hasMoreMessages,
  SearchScope? scope,
  bool? showConversations,
  bool? showMessages,
  String? errorMessage,
  bool clearError = false,
}) {
  return SearchState(
    searchText: searchText ?? this.searchText,
    selectedFilters: selectedFilters ?? this.selectedFilters,
    visibleFilters: visibleFilters ?? this.visibleFilters,
    conversationsStatus: conversationsStatus ?? this.conversationsStatus,
    conversations: conversations ?? this.conversations,
    hasMoreConversations: hasMoreConversations ?? this.hasMoreConversations,
    messagesStatus: messagesStatus ?? this.messagesStatus,
    messages: messages ?? this.messages,
    hasMoreMessages: hasMoreMessages ?? this.hasMoreMessages,
    scope: scope ?? this.scope,
    showConversations: showConversations ?? this.showConversations,
    showMessages: showMessages ?? this.showMessages,
    errorMessage: clearError ? null : (errorMessage ?? this.errorMessage),
  );
}