TF-3002 [WEB] Apply new design for SearchFilterButton
This commit is contained in:
+1
-1
@@ -397,7 +397,7 @@ class AdvancedFilterController extends BaseController {
|
||||
);
|
||||
} else if (action is ClearDateRangeToAdvancedSearch) {
|
||||
_updateDateRangeTime(action.receiveTime);
|
||||
} else if (action is StartSearchEmailAction && action.filter == QuickSearchFilter.fromMe) {
|
||||
} else if (action is StartSearchEmailAction && action.filter == QuickSearchFilter.from) {
|
||||
_updateFromField();
|
||||
} else if (action is SearchEmailByFromFieldsAction) {
|
||||
searchController.clearSearchFilter();
|
||||
|
||||
+18
-27
@@ -1575,17 +1575,6 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
|
||||
_getAllIdentities();
|
||||
}
|
||||
|
||||
void selectQuickSearchFilter(QuickSearchFilter filter) {
|
||||
return searchController.selectQuickSearchFilter(filter);
|
||||
}
|
||||
|
||||
void selectQuickSearchFilterFrom(EmailAddress fromEmailFilter) {
|
||||
return searchController.selectQuickSearchFilter(
|
||||
QuickSearchFilter.fromMe,
|
||||
fromEmailFilter: fromEmailFilter
|
||||
);
|
||||
}
|
||||
|
||||
void addFilterToSuggestionForm(QuickSearchFilter filter) {
|
||||
searchController.addFilterToSuggestionForm(filter);
|
||||
}
|
||||
@@ -1667,24 +1656,26 @@ class MailboxDashBoardController extends ReloadableController with UserSettingPo
|
||||
}
|
||||
}
|
||||
|
||||
void selectQuickSearchFilterAction(QuickSearchFilter filter) async {
|
||||
log('MailboxDashBoardController::selectQuickSearchFilterAction(): filter: $filter');
|
||||
if (filter == QuickSearchFilter.fromMe) {
|
||||
if (accountId.value == null || sessionCurrent == null) {
|
||||
logError('MailboxDashBoardController::selectQuickSearchFilterAction(): accountId or sessionCurrent is null');
|
||||
}
|
||||
final listContactSelected = searchController.searchEmailFilter.value.from;
|
||||
final arguments = ContactArguments(accountId.value!, sessionCurrent!, listContactSelected);
|
||||
void selectHasAttachmentSearchFilter() {
|
||||
searchController.updateFilterEmail(hasAttachment: true);
|
||||
dispatchAction(StartSearchEmailAction());
|
||||
}
|
||||
|
||||
final newContact = await DialogRouter.pushGeneralDialog(routeName: AppRoutes.contact, arguments: arguments);
|
||||
Future<void> selectFromSearchFilter() async {
|
||||
if (accountId.value == null || sessionCurrent == null) return;
|
||||
|
||||
if (newContact is EmailAddress) {
|
||||
selectQuickSearchFilterFrom(newContact);
|
||||
dispatchAction(StartSearchEmailAction(filter: filter));
|
||||
}
|
||||
} else {
|
||||
selectQuickSearchFilter(filter);
|
||||
dispatchAction(StartSearchEmailAction(filter: filter));
|
||||
final contactArgument = ContactArguments(
|
||||
accountId.value!,
|
||||
sessionCurrent!,
|
||||
searchController.searchEmailFilter.value.from);
|
||||
|
||||
final newContact = await DialogRouter.pushGeneralDialog(
|
||||
routeName: AppRoutes.contact,
|
||||
arguments: contactArgument);
|
||||
|
||||
if (newContact is EmailAddress) {
|
||||
searchController.updateFilterEmail(fromOption: Some({newContact.emailAddress}));
|
||||
dispatchAction(StartSearchEmailAction(filter: QuickSearchFilter.from));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@ import 'package:jmap_dart_client/jmap/core/sort/comparator.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/user_name.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/utc_date.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email_comparator.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email_comparator_property.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email_filter_condition.dart';
|
||||
@@ -71,32 +70,6 @@ class SearchController extends BaseController with DateRangePickerMixin {
|
||||
searchEmailFilter.value = SearchEmailFilter.initial();
|
||||
}
|
||||
|
||||
void selectQuickSearchFilter(
|
||||
QuickSearchFilter quickSearchFilter,
|
||||
{EmailAddress? fromEmailFilter}
|
||||
) {
|
||||
final isFilterSelected = quickSearchFilter.isSelected(searchEmailFilter.value);
|
||||
|
||||
switch (quickSearchFilter) {
|
||||
case QuickSearchFilter.hasAttachment:
|
||||
updateFilterEmail(hasAttachment: !isFilterSelected);
|
||||
return;
|
||||
case QuickSearchFilter.last7Days:
|
||||
updateFilterEmail(emailReceiveTimeType: EmailReceiveTimeType.allTime);
|
||||
return;
|
||||
case QuickSearchFilter.fromMe:
|
||||
if (fromEmailFilter != null) {
|
||||
final newListEmailAddress = (fromEmailFilter.email != null && fromEmailFilter.email!.isNotEmpty)
|
||||
? <String>{fromEmailFilter.email!}
|
||||
: <String>{};
|
||||
updateFilterEmail(fromOption: Some(newListEmailAddress));
|
||||
}
|
||||
return;
|
||||
case QuickSearchFilter.sortBy:
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void addFilterToSuggestionForm(QuickSearchFilter filter) {
|
||||
if (listFilterOnSuggestionForm.contains(filter)) {
|
||||
listFilterOnSuggestionForm.remove(filter);
|
||||
|
||||
Reference in New Issue
Block a user