diff --git a/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart b/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart index 637f1d9c2..844c90cf0 100644 --- a/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart +++ b/lib/features/mailbox_dashboard/presentation/controller/advanced_filter_controller.dart @@ -266,9 +266,13 @@ class AdvancedFilterController extends BaseController { hasAttachment.value = searchEmailFilter.hasAttachment; if (searchEmailFilter.from.isEmpty) { listFromEmailAddress.clear(); + } else { + fromAddressExpandMode.value = ExpandMode.COLLAPSE; } if (searchEmailFilter.to.isEmpty) { listToEmailAddress.clear(); + } else { + toAddressExpandMode.value = ExpandMode.COLLAPSE; } } @@ -476,6 +480,11 @@ class AdvancedFilterController extends BaseController { listFromEmailAddress = List.from(listEmailAddress); } + void onSearchAction(BuildContext context) { + FocusScope.of(context).unfocus(); + applyAdvancedSearchFilter(context); + } + @override void onClose() { _removeFocusListener(); diff --git a/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_input_form.dart b/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_input_form.dart index 6c1a04268..6a897a12c 100644 --- a/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_input_form.dart +++ b/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/advanced_search_input_form.dart @@ -40,6 +40,7 @@ class AdvancedSearchInputForm extends GetWidget onShowFullListEmailAddressAction: controller.showFullEmailAddress, onUpdateListEmailAddressAction: controller.updateListEmailAddress, onSuggestionEmailAddress: controller.getAutoCompleteSuggestion, + onSearchAction: () => controller.onSearchAction.call(context), )), Obx(() => TextFieldAutocompleteEmailAddressWeb( field: AdvancedSearchFilterField.to, @@ -52,6 +53,7 @@ class AdvancedSearchInputForm extends GetWidget onShowFullListEmailAddressAction: controller.showFullEmailAddress, onUpdateListEmailAddressAction: controller.updateListEmailAddress, onSuggestionEmailAddress: controller.getAutoCompleteSuggestion, + onSearchAction: () => controller.onSearchAction.call(context), )), _buildFilterField( textEditingController: controller.subjectFilterInputController, @@ -271,8 +273,7 @@ class AdvancedSearchInputForm extends GetWidget if (isSelectFormList) { onTap?.call(); } else { - FocusScope.of(context).unfocus(); - controller.applyAdvancedSearchFilter(context); + controller.onSearchAction.call(context); popBack(); } }, diff --git a/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/text_field_autocomplete_email_address_web.dart b/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/text_field_autocomplete_email_address_web.dart index 0ae589fab..d8c11ced2 100644 --- a/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/text_field_autocomplete_email_address_web.dart +++ b/lib/features/mailbox_dashboard/presentation/widgets/advanced_search/text_field_autocomplete_email_address_web.dart @@ -40,6 +40,7 @@ class TextFieldAutocompleteEmailAddressWeb extends StatefulWidget { final OnDeleteEmailAddressTypeAction? onDeleteEmailAddressTypeAction; final OnShowFullListEmailAddressAction? onShowFullListEmailAddressAction; final TextEditingController? controller; + final VoidCallback? onSearchAction; const TextFieldAutocompleteEmailAddressWeb({ Key? key, @@ -57,6 +58,7 @@ class TextFieldAutocompleteEmailAddressWeb extends StatefulWidget { this.onDeleteEmailAddressTypeAction, this.onShowFullListEmailAddressAction, this.controller, + this.onSearchAction, }) : super(key: key); @override @@ -302,6 +304,11 @@ class _TextFieldAutocompleteEmailAddressWebState extends State _currentListEmailAddress.add(EmailAddress(null, textTrim))); _updateListEmailAddressAction();