TF-1155 Update value From field when click quick search action
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit eeb16993c41325bc1a617b533c4eaf94f5f32103)
This commit is contained in:
+12
-6
@@ -23,6 +23,7 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/search_controller.dart' as search;
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/advanced_search_filter.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/mailbox_dashboard/presentation/model/search/search_email_filter.dart';
|
||||
import 'package:tmail_ui_user/features/manage_account/presentation/extensions/datetime_extension.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
|
||||
@@ -342,18 +343,14 @@ class AdvancedFilterController extends BaseController {
|
||||
}
|
||||
|
||||
void showFullEmailAddress(AdvancedSearchFilterField field) {
|
||||
FocusManager.instance.primaryFocus?.unfocus();
|
||||
|
||||
switch(field) {
|
||||
case AdvancedSearchFilterField.from:
|
||||
fromAddressExpandMode.value = ExpandMode.EXPAND;
|
||||
toAddressExpandMode.value = ExpandMode.COLLAPSE;
|
||||
focusManager.fromFieldFocusNode.requestFocus();
|
||||
focusManager.toFieldFocusNode.unfocus();
|
||||
break;
|
||||
case AdvancedSearchFilterField.to:
|
||||
fromAddressExpandMode.value = ExpandMode.COLLAPSE;
|
||||
toAddressExpandMode.value = ExpandMode.EXPAND;
|
||||
focusManager.toFieldFocusNode.requestFocus();
|
||||
focusManager.fromFieldFocusNode.unfocus();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -446,6 +443,10 @@ class AdvancedFilterController extends BaseController {
|
||||
);
|
||||
} else if (action is ClearDateRangeToAdvancedSearch) {
|
||||
_updateDateRangeTime(action.receiveTime);
|
||||
} else if (action is StartSearchEmailAction) {
|
||||
if (action.filter == QuickSearchFilter.fromMe) {
|
||||
_updateFromField();
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -470,6 +471,11 @@ class AdvancedFilterController extends BaseController {
|
||||
_clearAllTextFieldInput();
|
||||
}
|
||||
|
||||
void _updateFromField() {
|
||||
final listEmailAddress = searchEmailFilter.from.map((address) => EmailAddress(null, address)).toList();
|
||||
listFromEmailAddress = List.from(listEmailAddress);
|
||||
}
|
||||
|
||||
@override
|
||||
void onClose() {
|
||||
_removeFocusListener();
|
||||
|
||||
+1
-1
@@ -1505,7 +1505,7 @@ class MailboxDashBoardController extends ReloadableController {
|
||||
void selectQuickSearchFilterAction(QuickSearchFilter filter) {
|
||||
log('MailboxDashBoardController::selectQuickSearchFilterAction(): filter: $filter');
|
||||
selectQuickSearchFilter(filter);
|
||||
dispatchAction(StartSearchEmailAction());
|
||||
dispatchAction(StartSearchEmailAction(filter: filter));
|
||||
}
|
||||
|
||||
void selectReceiveTimeQuickSearchFilter(BuildContext context, EmailReceiveTimeType receiveTime) {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:core/presentation/utils/responsive_utils.dart';
|
||||
import 'package:core/utils/app_logger.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -29,7 +28,6 @@ import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/save_re
|
||||
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/mailbox_dashboard/presentation/model/search/search_email_filter.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_filter_bottom_sheet.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/constants/thread_constants.dart';
|
||||
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
|
||||
import 'package:tmail_ui_user/features/thread/presentation/model/search_state.dart';
|
||||
@@ -40,8 +38,6 @@ class SearchController extends BaseController with DateRangePickerMixin {
|
||||
final SaveRecentSearchInteractor _saveRecentSearchInteractor;
|
||||
final GetAllRecentSearchLatestInteractor _getAllRecentSearchLatestInteractor;
|
||||
|
||||
final ResponsiveUtils _responsiveUtils = Get.find<ResponsiveUtils>();
|
||||
|
||||
final searchInputController = TextEditingController();
|
||||
final searchEmailFilter = SearchEmailFilter.initial().obs;
|
||||
final searchState = SearchState.initial().obs;
|
||||
@@ -60,8 +56,12 @@ class SearchController extends BaseController with DateRangePickerMixin {
|
||||
this._getAllRecentSearchLatestInteractor,
|
||||
);
|
||||
|
||||
void selectOpenAdvanceSearch() {
|
||||
isAdvancedSearchViewOpen.toggle();
|
||||
void openAdvanceSearch() {
|
||||
isAdvancedSearchViewOpen.value = true;
|
||||
}
|
||||
|
||||
void closeAdvanceSearch() {
|
||||
isAdvancedSearchViewOpen.value = false;
|
||||
}
|
||||
|
||||
void clearSearchFilter() {
|
||||
@@ -79,10 +79,8 @@ class SearchController extends BaseController with DateRangePickerMixin {
|
||||
updateFilterEmail(emailReceiveTimeType: EmailReceiveTimeType.allTime);
|
||||
return;
|
||||
case QuickSearchFilter.fromMe:
|
||||
isFilterSelected
|
||||
? searchEmailFilter.value.from.removeWhere((e) => e == userProfile.email)
|
||||
: searchEmailFilter.value.from.add(userProfile.email);
|
||||
updateFilterEmail(fromOption: Some(searchEmailFilter.value.from));
|
||||
final newListEmailAddress = isFilterSelected ? <String>{} : <String>{userProfile.email};
|
||||
updateFilterEmail(fromOption: Some(newListEmailAddress));
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -244,14 +242,6 @@ class SearchController extends BaseController with DateRangePickerMixin {
|
||||
: <RecentSearch>[]));
|
||||
}
|
||||
|
||||
void showAdvancedFilterView(BuildContext context) async {
|
||||
selectOpenAdvanceSearch();
|
||||
if (_responsiveUtils.isMobile(context)) {
|
||||
await showAdvancedSearchFilterBottomSheet(context);
|
||||
selectOpenAdvanceSearch();
|
||||
}
|
||||
}
|
||||
|
||||
void activateSimpleSearch() {
|
||||
simpleSearchIsActivated.value = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user