TF-3002 [WEB] Add delete button in search filters
This commit is contained in:
+12
-4
@@ -446,13 +446,21 @@ class AdvancedFilterController extends BaseController {
|
||||
}
|
||||
|
||||
void _updateFromField() {
|
||||
listFromEmailAddress = List.from(
|
||||
searchEmailFilter.from.map((address) => EmailAddress(null, address)));
|
||||
if (searchEmailFilter.from.isNotEmpty) {
|
||||
listFromEmailAddress = List.from(
|
||||
searchEmailFilter.from.map((address) => EmailAddress(null, address)));
|
||||
} else {
|
||||
listFromEmailAddress.clear();
|
||||
}
|
||||
}
|
||||
|
||||
void _updateToField() {
|
||||
listToEmailAddress= List.from(
|
||||
searchEmailFilter.to.map((address) => EmailAddress(null, address)));
|
||||
if (searchEmailFilter.to.isNotEmpty) {
|
||||
listToEmailAddress = List.from(
|
||||
searchEmailFilter.to.map((address) => EmailAddress(null, address)));
|
||||
} else {
|
||||
listToEmailAddress.clear();
|
||||
}
|
||||
}
|
||||
|
||||
void onSearchAction(BuildContext context) {
|
||||
|
||||
+70
-5
@@ -1579,10 +1579,6 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
|
||||
_getAllIdentities();
|
||||
}
|
||||
|
||||
void addFilterToSuggestionForm(QuickSearchFilter filter) {
|
||||
searchController.addFilterToSuggestionForm(filter);
|
||||
}
|
||||
|
||||
Future<List<PresentationEmail>> quickSearchEmails(String query) async {
|
||||
if (sessionCurrent != null && accountId.value != null) {
|
||||
return searchController.quickSearchEmails(
|
||||
@@ -1733,7 +1729,7 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
|
||||
: const None()
|
||||
);
|
||||
|
||||
dispatchAction(StartSearchEmailAction(filter: QuickSearchFilter.folder));
|
||||
dispatchAction(StartSearchEmailAction());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1777,6 +1773,75 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
|
||||
dispatchAction(StartSearchEmailAction());
|
||||
}
|
||||
|
||||
void _deleteDateTimeSearchFilter() {
|
||||
dispatchAction(ClearDateRangeToAdvancedSearch(EmailReceiveTimeType.allTime));
|
||||
searchController.updateFilterEmail(
|
||||
emailReceiveTimeType: EmailReceiveTimeType.allTime,
|
||||
startDateOption: const None(),
|
||||
endDateOption: const None(),
|
||||
beforeOption: const None()
|
||||
);
|
||||
dispatchAction(StartSearchEmailAction());
|
||||
}
|
||||
|
||||
void _deleteSortOrderSearchFilter() {
|
||||
searchController.sortOrderFiltered.value = EmailSortOrderType.mostRecent;
|
||||
searchController.updateFilterEmail(
|
||||
sortOrderOption: EmailSortOrderType.mostRecent.getSortOrder());
|
||||
dispatchAction(StartSearchEmailAction());
|
||||
}
|
||||
|
||||
void _deleteFromSearchFilter() {
|
||||
searchController.updateFilterEmail(fromOption: const None());
|
||||
dispatchAction(StartSearchEmailAction(filter: QuickSearchFilter.from));
|
||||
}
|
||||
|
||||
void _deleteToSearchFilter() {
|
||||
searchController.updateFilterEmail(toOption: const None());
|
||||
dispatchAction(StartSearchEmailAction(filter: QuickSearchFilter.to));
|
||||
}
|
||||
|
||||
void _deleteHasAttachmentSearchFilter() {
|
||||
searchController.updateFilterEmail(hasAttachment: false);
|
||||
dispatchAction(StartSearchEmailAction());
|
||||
}
|
||||
|
||||
void _deleteFolderSearchFilter() {
|
||||
searchController.updateFilterEmail(
|
||||
mailboxOption: const None(),
|
||||
beforeOption: const None(),
|
||||
positionOption: searchController.sortOrderFiltered.value.isScrollByPosition()
|
||||
? const Some(0)
|
||||
: const None()
|
||||
);
|
||||
dispatchAction(StartSearchEmailAction());
|
||||
}
|
||||
|
||||
void onDeleteSearchFilterAction(QuickSearchFilter searchFilter) {
|
||||
switch(searchFilter) {
|
||||
case QuickSearchFilter.dateTime:
|
||||
_deleteDateTimeSearchFilter();
|
||||
break;
|
||||
case QuickSearchFilter.sortBy:
|
||||
_deleteSortOrderSearchFilter();
|
||||
break;
|
||||
case QuickSearchFilter.from:
|
||||
_deleteFromSearchFilter();
|
||||
break;
|
||||
case QuickSearchFilter.hasAttachment:
|
||||
_deleteHasAttachmentSearchFilter();
|
||||
break;
|
||||
case QuickSearchFilter.to:
|
||||
_deleteToSearchFilter();
|
||||
break;
|
||||
case QuickSearchFilter.folder:
|
||||
_deleteFolderSearchFilter();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
bool isEmptyTrashBannerEnabledOnWeb(
|
||||
BuildContext context,
|
||||
PresentationMailbox? mailbox
|
||||
|
||||
@@ -70,14 +70,16 @@ class SearchController extends BaseController with DateRangePickerMixin {
|
||||
searchEmailFilter.value = SearchEmailFilter.initial();
|
||||
}
|
||||
|
||||
void addFilterToSuggestionForm(QuickSearchFilter filter) {
|
||||
if (listFilterOnSuggestionForm.contains(filter)) {
|
||||
listFilterOnSuggestionForm.remove(filter);
|
||||
} else {
|
||||
listFilterOnSuggestionForm.add(filter);
|
||||
void addQuickSearchFilterToSuggestionSearchView(QuickSearchFilter searchFilter) {
|
||||
if (!listFilterOnSuggestionForm.contains(searchFilter)) {
|
||||
listFilterOnSuggestionForm.add(searchFilter);
|
||||
}
|
||||
}
|
||||
|
||||
void deleteQuickSearchFilterFromSuggestionSearchView(QuickSearchFilter searchFilter) {
|
||||
listFilterOnSuggestionForm.remove(searchFilter);
|
||||
}
|
||||
|
||||
Future<List<PresentationEmail>> quickSearchEmails({
|
||||
required Session session,
|
||||
required AccountId accountId,
|
||||
|
||||
Reference in New Issue
Block a user