TF-1709 Add quick sort filter to mailbox dashboard
(cherry picked from commit 7a50bebfd102887a10b425976993ae56fcff6c7f)
This commit is contained in:
@@ -4,13 +4,15 @@ import 'package:core/presentation/resources/image_paths.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:model/user/user_profile.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_receive_time_type.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/email_sort_order_type.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/search/search_email_filter.dart';
|
||||
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
|
||||
enum QuickSearchFilter {
|
||||
hasAttachment,
|
||||
last7Days,
|
||||
fromMe;
|
||||
fromMe,
|
||||
sortBy;
|
||||
|
||||
String getName(BuildContext context) {
|
||||
switch(this) {
|
||||
@@ -20,12 +22,15 @@ enum QuickSearchFilter {
|
||||
return AppLocalizations.of(context).last7Days;
|
||||
case QuickSearchFilter.fromMe:
|
||||
return AppLocalizations.of(context).fromMe;
|
||||
case QuickSearchFilter.sortBy:
|
||||
return AppLocalizations.of(context).sortBy;
|
||||
}
|
||||
}
|
||||
|
||||
String getTitle(
|
||||
BuildContext context, {
|
||||
EmailReceiveTimeType? receiveTimeType,
|
||||
EmailSortOrderType? sortOrderType,
|
||||
DateTime? startDate,
|
||||
DateTime? endDate,
|
||||
}) {
|
||||
@@ -37,6 +42,9 @@ enum QuickSearchFilter {
|
||||
?? AppLocalizations.of(context).allTime;
|
||||
case QuickSearchFilter.fromMe:
|
||||
return AppLocalizations.of(context).fromMe;
|
||||
case QuickSearchFilter.sortBy:
|
||||
return sortOrderType?.getTitle(context)
|
||||
?? AppLocalizations.of(context).mostRecent;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,6 +59,8 @@ enum QuickSearchFilter {
|
||||
return imagePaths.icCalendarSB;
|
||||
case QuickSearchFilter.fromMe:
|
||||
return imagePaths.icUserSB;
|
||||
case QuickSearchFilter.sortBy:
|
||||
return imagePaths.icFilterSB;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -89,6 +99,8 @@ enum QuickSearchFilter {
|
||||
return userProfile != null &&
|
||||
filter.from.contains(userProfile.email) &&
|
||||
filter.from.length == 1;
|
||||
case QuickSearchFilter.sortBy:
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user