TF-2323 Handle search sort by Relevance
Signed-off-by: dab246 <tdvu@linagora.com> (cherry picked from commit 20efa6dc9960c8e90bed4f05f1b3d86d0c42d0f4)
This commit is contained in:
@@ -88,6 +88,7 @@ enum EmailSortOrderType {
|
||||
return this == EmailSortOrderType.subjectDescending ||
|
||||
this == EmailSortOrderType.subjectAscending ||
|
||||
this == EmailSortOrderType.senderDescending ||
|
||||
this == EmailSortOrderType.senderAscending;
|
||||
this == EmailSortOrderType.senderAscending ||
|
||||
this == EmailSortOrderType.relevance;
|
||||
}
|
||||
}
|
||||
@@ -397,7 +397,7 @@ class SearchEmailController extends BaseController
|
||||
session!,
|
||||
accountId!,
|
||||
limit: ThreadConstants.defaultLimit,
|
||||
sort: simpleSearchFilter.value.sortOrder,
|
||||
sort: emailSortOrderType.value.getSortOrder().toNullable(),
|
||||
position: simpleSearchFilter.value.position,
|
||||
filter: simpleSearchFilter.value.mappingToEmailFilterCondition(sortOrderType: emailSortOrderType.value),
|
||||
properties: EmailUtils.getPropertiesForEmailGetMethod(session!, accountId!),
|
||||
|
||||
@@ -8,12 +8,9 @@ import 'package:flutter/services.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:jmap_dart_client/jmap/account_id.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/sort/comparator.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/state.dart' as jmap;
|
||||
import 'package:jmap_dart_client/jmap/core/unsigned_int.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/email.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';
|
||||
import 'package:jmap_dart_client/jmap/mail/email/keyword_identifier.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
@@ -110,10 +107,6 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
final FocusNode focusNodeKeyBoard = FocusNode();
|
||||
final latestEmailSelectedOrUnselected = Rxn<PresentationEmail>();
|
||||
|
||||
Set<Comparator>? get _sortOrder => <Comparator>{}
|
||||
..add(EmailComparator(EmailComparatorProperty.receivedAt)
|
||||
..setIsAscending(false));
|
||||
|
||||
AccountId? get _accountId => mailboxDashBoardController.accountId.value;
|
||||
|
||||
Session? get _session => mailboxDashBoardController.sessionCurrent;
|
||||
@@ -439,7 +432,7 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
_session!,
|
||||
_accountId!,
|
||||
limit: ThreadConstants.defaultLimit,
|
||||
sort: _searchEmailFilter.sortOrder ?? _sortOrder,
|
||||
sort: searchController.sortOrderFiltered.value.getSortOrder().toNullable(),
|
||||
emailFilter: EmailFilter(
|
||||
filter: _getFilterCondition(mailboxIdSelected: _currentMailboxId),
|
||||
filterOption: mailboxDashBoardController.filterMessageOption.value,
|
||||
@@ -512,7 +505,7 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
_session!,
|
||||
_accountId!,
|
||||
newEmailState,
|
||||
sort: _searchEmailFilter.sortOrder ?? _sortOrder,
|
||||
sort: searchController.sortOrderFiltered.value.getSortOrder().toNullable(),
|
||||
propertiesCreated: EmailUtils.getPropertiesForEmailGetMethod(_session!, _accountId!),
|
||||
propertiesUpdated: ThreadConstants.propertiesUpdatedDefault,
|
||||
emailFilter: EmailFilter(
|
||||
@@ -537,7 +530,7 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
_accountId!,
|
||||
limit: ThreadConstants.defaultLimit,
|
||||
position: _searchEmailFilter.position,
|
||||
sort: _searchEmailFilter.sortOrder ?? _sortOrder,
|
||||
sort: searchController.sortOrderFiltered.value.getSortOrder().toNullable(),
|
||||
filterOption: mailboxDashBoardController.filterMessageOption.value,
|
||||
filter: _getFilterCondition(oldestEmail: oldestEmail, mailboxIdSelected: _currentMailboxId),
|
||||
properties: EmailUtils.getPropertiesForEmailGetMethod(_session!, _accountId!),
|
||||
@@ -747,7 +740,7 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
_accountId!,
|
||||
limit: limit ?? ThreadConstants.defaultLimit,
|
||||
position: _searchEmailFilter.position,
|
||||
sort: _searchEmailFilter.sortOrder,
|
||||
sort: searchController.sortOrderFiltered.value.getSortOrder().toNullable(),
|
||||
filter: _searchEmailFilter.mappingToEmailFilterCondition(
|
||||
sortOrderType: searchController.sortOrderFiltered.value,
|
||||
moreFilterCondition: _getFilterCondition()
|
||||
@@ -817,7 +810,7 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
_session!,
|
||||
_accountId!,
|
||||
limit: ThreadConstants.defaultLimit,
|
||||
sort: _searchEmailFilter.sortOrder ?? _sortOrder,
|
||||
sort: searchController.sortOrderFiltered.value.getSortOrder().toNullable(),
|
||||
position: _searchEmailFilter.position,
|
||||
filter: _searchEmailFilter.mappingToEmailFilterCondition(
|
||||
sortOrderType: searchController.sortOrderFiltered.value,
|
||||
|
||||
Reference in New Issue
Block a user