TF-3002 [WEB] Add Advanced Search & Clear filter button in search filters

This commit is contained in:
dab246
2024-09-13 09:08:46 +07:00
committed by Dat H. Pham
parent e6eeabedee
commit b10b2200ff
5 changed files with 72 additions and 5 deletions
@@ -83,6 +83,7 @@ class AdvancedFilterController extends BaseController {
_resetAllToOriginalValue();
_clearAllTextFieldInput();
searchController.searchInputController.clear();
searchController.clearSortOrder();
searchController.deactivateAdvancedSearch();
searchController.isAdvancedSearchViewOpen.value = false;
_mailboxDashBoardController.searchEmail(context);
@@ -421,6 +422,10 @@ class AdvancedFilterController extends BaseController {
searchController.updateFilterEmail(fromOption: Some(listAddress));
_mailboxDashBoardController.dispatchAction(StartSearchEmailAction());
} else if (action is OpenAdvancedSearchViewAction) {
initSearchFilterField(action.context);
} else if (action is ClearSearchFilterAppliedAction) {
clearSearchFilter(action.context);
}
}
);
@@ -2815,6 +2815,20 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
&& selectedMailbox.value!.countTotalEmails <= 0;
}
bool get isSearchFilterHasApplied {
return searchController.isSearchFilterHasApplied ||
filterMessageOption.value != FilterMessageOption.all;
}
void openAdvancedSearchView(BuildContext context) {
dispatchAction(OpenAdvancedSearchViewAction(context));
searchController.openAdvanceSearch();
}
void clearAllSearchFilterApplied(BuildContext context) {
dispatchAction(ClearSearchFilterAppliedAction(context));
}
@override
void onClose() {
if (PlatformInfo.isWeb) {
@@ -200,6 +200,15 @@ class SearchController extends BaseController with DateRangePickerMixin {
bool get isSearchEmailRunning => simpleSearchIsActivated.isTrue || advancedSearchIsActivated.isTrue;
bool get isSearchFilterHasApplied {
return searchEmailFilter.value.from.isNotEmpty ||
searchEmailFilter.value.to.isNotEmpty ||
searchEmailFilter.value.emailReceiveTimeType != EmailReceiveTimeType.allTime ||
(searchEmailFilter.value.mailbox != PresentationMailbox.unifiedMailbox && searchEmailFilter.value.mailbox != null) ||
searchEmailFilter.value.hasAttachment == true ||
sortOrderFiltered.value != EmailSortOrderType.mostRecent;
}
void enableSearch() {
searchState.value = searchState.value.enableSearchState();
}
@@ -263,7 +272,7 @@ class SearchController extends BaseController with DateRangePickerMixin {
searchFocus.unfocus();
}
void _clearSortOrder() {
void clearSortOrder() {
sortOrderFiltered.value = EmailSortOrderType.mostRecent;
}
@@ -272,7 +281,7 @@ class SearchController extends BaseController with DateRangePickerMixin {
deactivateSimpleSearch();
hideSimpleSearchFormView();
_clearSortOrder();
clearSortOrder();
clearSearchFilter();
deactivateAdvancedSearch();
hideAdvancedSearchFormView();