Fix Sort Order not synchronized between Advanced Search dialog and dashboard screen when clicking Clear Filter

This commit is contained in:
dab246
2025-08-26 18:43:42 +07:00
committed by Dat H. Pham
parent a10ab68733
commit e9c66404d3
4 changed files with 17 additions and 6 deletions
@@ -83,6 +83,11 @@ class AdvancedFilterController extends BaseController {
_memorySearchFilter = SearchEmailFilter.withSortOrder(emailSortOrderType);
}
void _updateSortOrder(EmailSortOrderType emailSortOrderType) {
sortOrderType.value = emailSortOrderType;
_updateMemorySearchFilter(sortOrderTypeOption: Some(emailSortOrderType));
}
void clearSearchFilter() {
_memorySearchFilter = SearchEmailFilter.withSortOrder(sortOrderType.value);
_resetAllToOriginalValue();
@@ -486,7 +491,7 @@ class AdvancedFilterController extends BaseController {
} else if (action is ClearSearchFilterAppliedAction) {
clearSearchFilter();
} else if (action is SynchronizeEmailSortOrderAction) {
_setUpDefaultSortOrder(action.emailSortOrderType);
_updateSortOrder(action.emailSortOrderType);
}
}
);
@@ -2191,6 +2191,7 @@ class MailboxDashBoardController extends ReloadableController
void _deleteSortOrderSearchFilter() {
searchController.updateFilterEmail(
sortOrderTypeOption: const Some(SearchEmailFilter.defaultSortOrder));
storeEmailSortOrder(SearchEmailFilter.defaultSortOrder);
dispatchAction(StartSearchEmailAction());
}
@@ -68,10 +68,10 @@ class SearchController extends BaseController with DateRangePickerMixin {
isAdvancedSearchViewOpen.value = false;
}
void clearSearchFilter({
EmailSortOrderType sortOrderType = SearchEmailFilter.defaultSortOrder,
}) {
searchEmailFilter.value = SearchEmailFilter.withSortOrder(sortOrderType);
void clearSearchFilter({EmailSortOrderType? sortOrderType}) {
searchEmailFilter.value = SearchEmailFilter.withSortOrder(
sortOrderType ?? searchEmailFilter.value.sortOrderType,
);
}
void synchronizeSearchFilter(SearchEmailFilter searchFilter) {
@@ -1030,7 +1030,12 @@ class SearchEmailController extends BaseController
void _deleteSortOrderSearchFilter(BuildContext context) {
emailSortOrderType.value = SearchEmailFilter.defaultSortOrder;
_updateSimpleSearchFilter(sortOrderTypeOption: const Some(SearchEmailFilter.defaultSortOrder));
_updateSimpleSearchFilter(
sortOrderTypeOption: const Some(SearchEmailFilter.defaultSortOrder),
);
mailboxDashBoardController.storeEmailSortOrder(
SearchEmailFilter.defaultSortOrder,
);
_searchEmailAction(context);
}