TF-691 Persist mailbox selected when click outside destination picker to close

This commit is contained in:
dab246
2022-08-04 17:48:41 +07:00
committed by Dat H. Pham
parent 58f08c221b
commit 766c6a5e8f
7 changed files with 166 additions and 93 deletions
@@ -111,23 +111,26 @@ class AdvancedFilterController extends GetxController {
);
}
Future<void> selectedMailBox() async {
final PresentationMailbox destinationMailbox = await push(
void selectedMailBox() async {
final destinationMailbox = await push(
AppRoutes.DESTINATION_PICKER,
arguments: DestinationPickerArguments(
_mailboxDashBoardController.accountId.value!,
MailboxActions.select));
searchController.updateFilterEmail(mailbox: destinationMailbox);
mailBoxFilterInputController.text =
StringConvert.writeNullToEmpty(destinationMailbox.name?.name);
if (destinationMailbox is PresentationMailbox) {
searchController.updateFilterEmail(mailbox: destinationMailbox);
mailBoxFilterInputController.text =
StringConvert.writeNullToEmpty(destinationMailbox.name?.name);
}
}
void applyAdvancedSearchFilter(BuildContext context) {
_updateFilterEmailFromAdvancedSearchView();
searchController.isAdvancedSearchHasApply.value = _checkAdvancedSearchHasApply();
searchController.isAdvancedSearchViewOpen.toggle();
_mailboxDashBoardController.searchEmail(
context, StringConvert.writeNullToEmpty(searchEmailFilter.text?.value));
searchController.isAdvancedSearchViewOpen.toggle();
searchController.isAdvancedSearchHasApply.value = _checkAdvancedSearchHasApply();
}
void _checkContactPermission() async {
@@ -67,7 +67,9 @@ class SearchEmailFilter {
Filter mappingToEmailFilterCondition({Filter? moreFilterCondition}) {
final emailEmailFilterConditionShared = EmailFilterCondition(
text: text?.value,
inMailbox: mailbox?.id,
inMailbox: mailbox == PresentationMailbox.unifiedMailbox
? null
: mailbox?.id,
after: emailReceiveTimeType.toUTCDate(),
hasAttachment: hasAttachment == false ? null : hasAttachment,
subject: subject,
@@ -71,9 +71,7 @@ class AdvancedSearchInputForm extends GetWidget<AdvancedFilterController>
currentFocusNode: controller.focusManager.mailboxFieldFocusNode,
nextFocusNode: controller.focusManager.attachmentCheckboxFocusNode,
mouseCursor: SystemMouseCursors.click,
onTap: () async {
await controller.selectedMailBox();
}),
onTap: () => controller.selectedMailBox()),
_buildFilterField(
textEditingController: controller.dateFilterInputController,
context: context,