TF-933 Update new position all button QuickSearchFilter on Web Desktop

This commit is contained in:
dab246
2022-09-15 18:42:16 +07:00
committed by Dat H. Pham
parent 3c0eac12ac
commit 0fb78cef5e
7 changed files with 204 additions and 161 deletions
@@ -43,6 +43,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/search_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/composer_overlay_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/download/download_task_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/quick_search_filter.dart';
import 'package:tmail_ui_user/features/manage_account/domain/state/get_all_vacation_state.dart';
import 'package:tmail_ui_user/features/manage_account/domain/state/update_vacation_state.dart';
@@ -54,7 +55,6 @@ import 'package:tmail_ui_user/features/manage_account/presentation/model/account
import 'package:tmail_ui_user/features/manage_account/presentation/model/manage_account_arguments.dart';
import 'package:tmail_ui_user/features/thread/domain/model/filter_message_option.dart';
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
import 'package:tmail_ui_user/features/thread/domain/state/search_email_state.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
import 'package:tmail_ui_user/main/routes/app_routes.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart';
@@ -366,7 +366,7 @@ class MailboxDashBoardController extends ReloadableController {
void searchEmail(BuildContext context, String value) {
searchController.updateFilterEmail(text: SearchQuery(value));
dispatchState(Right(SearchEmailNewQuery(searchController.searchEmailFilter.value.text ?? SearchQuery.initial())));
dispatchAction(StartSearchEmailAction());
FocusScope.of(context).unfocus();
if (_searchInsideEmailDetailedViewIsActive(context)) {
_closeEmailDetailedView();
@@ -659,6 +659,27 @@ class MailboxDashBoardController extends ReloadableController {
}
}
void selectQuickSearchFilterAction(QuickSearchFilter filter) {
selectQuickSearchFilter(quickSearchFilter: filter);
dispatchAction(StartSearchEmailAction());
}
void selectReceiveTimeQuickSearchFilter(EmailReceiveTimeType? emailReceiveTimeType) {
popBack();
if (emailReceiveTimeType != null) {
searchController.updateFilterEmail(emailReceiveTimeType: emailReceiveTimeType);
} else {
searchController.updateFilterEmail(emailReceiveTimeType: EmailReceiveTimeType.allTime);
}
searchController.setEmailReceiveTimeType(emailReceiveTimeType);
searchController.updateFilterEmail();
if (searchController.searchQuery == null){
searchController.updateFilterEmail(text: SearchQuery.initial());
}
dispatchAction(StartSearchEmailAction());
}
@override
void onClose() {
_emailReceiveManager.closeEmailReceiveManagerStream();
@@ -42,8 +42,11 @@ class SearchController extends BaseController {
final mailboxFilterSelectedFormAdvancedSearch = Rxn<PresentationMailbox>();
final hasAttachment = false.obs;
final emailReceiveTimeType = Rxn<EmailReceiveTimeType>();
final searchIsActive = RxBool(false);
get searchEmailFilterValue => searchEmailFilter.value;
SearchEmailFilter get searchEmailFilterValue => searchEmailFilter.value;
SearchQuery? get searchQuery => searchEmailFilter.value.text;
FocusNode searchFocus = FocusNode();