TF-1709 Add sort order type
(cherry picked from commit 1e7bddac324e33793cbe62e0582eea61349b2649)
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
import 'package:flutter/material.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:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/sort/comparator.dart';
|
||||
|
||||
enum EmailSortOrderType {
|
||||
mostRecent,
|
||||
oldest,
|
||||
relevance,
|
||||
senderAscending,
|
||||
senderDescending,
|
||||
subjectAscending,
|
||||
subjectDescending;
|
||||
|
||||
String getTitle(BuildContext context) {
|
||||
switch (this) {
|
||||
case EmailSortOrderType.mostRecent:
|
||||
return AppLocalizations.of(context).mostRecent;
|
||||
case EmailSortOrderType.oldest:
|
||||
return AppLocalizations.of(context).oldest;
|
||||
case EmailSortOrderType.relevance:
|
||||
return AppLocalizations.of(context).relevance;
|
||||
case EmailSortOrderType.senderAscending:
|
||||
return AppLocalizations.of(context).senderAscending;
|
||||
case EmailSortOrderType.senderDescending:
|
||||
return AppLocalizations.of(context).senderDescending;
|
||||
case EmailSortOrderType.subjectAscending:
|
||||
return AppLocalizations.of(context).subjectAscending;
|
||||
case EmailSortOrderType.subjectDescending:
|
||||
return AppLocalizations.of(context).subjectDescending;
|
||||
}
|
||||
}
|
||||
|
||||
Set<Comparator> getSortOrder() {
|
||||
switch (this) {
|
||||
case EmailSortOrderType.mostRecent:
|
||||
return <Comparator>{}
|
||||
..add(EmailComparator(EmailComparatorProperty.receivedAt)
|
||||
..setIsAscending(false));
|
||||
case EmailSortOrderType.oldest:
|
||||
return <Comparator>{}
|
||||
..add(EmailComparator(EmailComparatorProperty.receivedAt)
|
||||
..setIsAscending(true));
|
||||
case EmailSortOrderType.relevance:
|
||||
return <Comparator>{};
|
||||
case EmailSortOrderType.senderAscending:
|
||||
return <Comparator>{}
|
||||
..add(EmailComparator(EmailComparatorProperty.from)
|
||||
..setIsAscending(true));
|
||||
case EmailSortOrderType.senderDescending:
|
||||
return <Comparator>{}
|
||||
..add(EmailComparator(EmailComparatorProperty.from)
|
||||
..setIsAscending(false));
|
||||
case EmailSortOrderType.subjectAscending:
|
||||
return <Comparator>{}
|
||||
..add(EmailComparator(EmailComparatorProperty.subject)
|
||||
..setIsAscending(true));
|
||||
case EmailSortOrderType.subjectDescending:
|
||||
return <Comparator>{}
|
||||
..add(EmailComparator(EmailComparatorProperty.subject)
|
||||
..setIsAscending(false));
|
||||
}
|
||||
}
|
||||
|
||||
TextStyle getTextStyle({required bool isInDropdown}) {
|
||||
return TextStyle(
|
||||
fontSize: isInDropdown ? 15 : 16,
|
||||
fontWeight: FontWeight.w400,
|
||||
color: Colors.black,
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user