able filter message option after using advanced search

This commit is contained in:
ManhNTX
2022-06-27 02:46:38 +07:00
committed by Dat H. Pham
parent 9ea8fc1cb8
commit 7ca8b83822
9 changed files with 52 additions and 33 deletions
@@ -35,7 +35,7 @@ class AdvancedFilterController extends BaseController {
_searchController.isAdvancedSearchViewOpen.toggle();
}
cleanSearchFilter() {
cleanSearchFilter(BuildContext context) {
_searchController.cleanSearchFilter();
dateFilterSelectedFormAdvancedSearch.value = EmailReceiveTimeType.allTime;
fromFilterInputController.text = '';
@@ -45,22 +45,31 @@ class AdvancedFilterController extends BaseController {
notKeyWordFilterInputController.text = '';
dateFilterInputController.text = '';
hasAttachment.value = false;
_searchController.isAdvancedSearchHasApply.isFalse;
_searchController.isAdvancedSearchHasApply.value = false;
_searchController.isAdvancedSearchViewOpen.toggle();
_mailboxDashBoardController.searchEmail(context, StringConvert.writeNullToEmpty(_searchEmailFilter.text?.value));
}
void _updateFilterEmailFromAdvancedSearchView() {
if (fromFilterInputController.text.isNotEmpty) {
_searchController.updateFilterEmail(from: fromFilterInputController.text.split(',').toSet());
} else {
_searchController.updateFilterEmail(from: {});
}
if (toFilterInputController.text.isNotEmpty) {
_searchController.updateFilterEmail(to: toFilterInputController.text.split(',').toSet());
} else {
_searchController.updateFilterEmail(to: {});
}
if (hasKeyWordFilterInputController.text.isNotEmpty) {
_searchController.updateFilterEmail(hasKeyword: hasKeyWordFilterInputController.text.split(',').toSet());
} else {
_searchController.updateFilterEmail(hasKeyword: {});
}
if (notKeyWordFilterInputController.text.isNotEmpty) {
_searchController.updateFilterEmail(notKeyword: notKeyWordFilterInputController.text.split(',').toSet());
} else {
_searchController.updateFilterEmail(notKeyword: {});
}
_searchController.updateFilterEmail(
@@ -93,7 +102,7 @@ class AdvancedFilterController extends BaseController {
notKeyWordFilterInputController.text.isNotEmpty ||
dateFilterInputController.text.isNotEmpty ||
mailBoxFilterInputController.text.isNotEmpty ||
hasAttachment.isFalse;
hasAttachment.isTrue;
}
initSearchFilterField(BuildContext context) {
@@ -201,7 +201,6 @@ class MailboxDashBoardController extends ReloadableController {
void _getUserProfile() async {
userProfile.value = sessionCurrent != null ? UserProfile(sessionCurrent!.username.value) : null;
searchController.userProfile.value = userProfile.value;
}
void _setSessionCurrent() {
@@ -210,7 +209,6 @@ class MailboxDashBoardController extends ReloadableController {
if (arguments is Session) {
sessionCurrent = arguments;
accountId.value = sessionCurrent?.accounts.keys.first;
searchController.accountId.value = accountId.value;
} else {
if (kIsWeb) {
reload();
@@ -382,7 +380,6 @@ class MailboxDashBoardController extends ReloadableController {
void handleReloaded(Session session) {
sessionCurrent = session;
accountId.value = sessionCurrent?.accounts.keys.first;
searchController.accountId.value = accountId.value;
_getUserProfile();
}
@@ -35,8 +35,6 @@ class SearchController extends BaseController {
final searchInputController = TextEditingController();
final searchEmailFilter = SearchEmailFilter().obs;
final searchState = SearchState.initial().obs;
final accountId = Rxn<AccountId>();
final userProfile = Rxn<UserProfile>();
final isAdvancedSearchViewOpen = false.obs;
final isAdvancedSearchHasApply = false.obs;
final dateFilterSelectedFormAdvancedSearch = EmailReceiveTimeType.allTime.obs;