TF-322 Sort default mailbox in TreeBuilder
This commit is contained in:
committed by
Dat H. Pham
parent
c2dc3b43fb
commit
71fc8a595e
@@ -4,7 +4,6 @@ import 'package:jmap_dart_client/jmap/core/session/session.dart';
|
||||
import 'package:jmap_dart_client/jmap/core/state.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/data/datasource/mailbox_datasource.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/data/extensions/mailbox_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/data/local/mailbox_cache_manager.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_change_response.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/domain/model/create_new_mailbox_request.dart';
|
||||
@@ -40,7 +39,6 @@ class MailboxCacheDataSourceImpl extends MailboxDataSource {
|
||||
Future<List<Mailbox>> getAllMailboxCache() {
|
||||
return Future.sync(() async {
|
||||
final listMailboxes = await _mailboxCacheManager.getAllMailbox();
|
||||
listMailboxes.sort((mailboxA, mailboxB) => mailboxA.compareTo(mailboxB));
|
||||
return listMailboxes;
|
||||
}).catchError((error) {
|
||||
throw error;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_cache.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/data/extensions/mailbox_rights_extension.dart';
|
||||
import 'package:tmail_ui_user/features/mailbox/data/model/mailbox_cache.dart';
|
||||
|
||||
extension MailboxExtension on Mailbox {
|
||||
|
||||
@@ -19,8 +19,4 @@ extension MailboxExtension on Mailbox {
|
||||
isSubscribed: isSubscribed?.value
|
||||
);
|
||||
}
|
||||
|
||||
int compareTo(Mailbox other) {
|
||||
return this.sortOrder!.value.value.compareTo(other.sortOrder!.value.value);
|
||||
}
|
||||
}
|
||||
@@ -135,4 +135,16 @@ extension MailboxNodeExtension on MailboxNode {
|
||||
selectMode: selectMode,
|
||||
);
|
||||
}
|
||||
|
||||
int compareTo(MailboxNode other) {
|
||||
if (item.sortOrder == null) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (other.item.sortOrder == null) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return item.sortOrder!.value.value.compareTo(other.item.sortOrder!.value.value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,6 +72,7 @@ class TreeBuilder {
|
||||
}
|
||||
});
|
||||
|
||||
defaultTree.root.childrenItems?.sort((thisMailbox, thatMailbox) => thisMailbox.compareTo(thatMailbox));
|
||||
return Tuple2(defaultTree, folderTree);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user