TF-138 Add presentation layer for search mail with text pattern

This commit is contained in:
dab246
2021-10-26 13:18:09 +07:00
committed by Dat H. Pham
parent faa40747eb
commit 3eaaccd551
18 changed files with 882 additions and 145 deletions
@@ -132,6 +132,8 @@ class MailboxController extends BaseController {
}
void _setUpMapMailboxIdDefault(List<PresentationMailbox> defaultMailboxList, List<PresentationMailbox> folderMailboxList) {
final allMailbox = defaultMailboxList + folderMailboxList;
final mapDefaultMailboxId = Map<Role, MailboxId>.fromIterable(
defaultMailboxList,
key: (presentationMailbox) => presentationMailbox.role!,
@@ -142,13 +144,15 @@ class MailboxController extends BaseController {
key: (presentationMailbox) => presentationMailbox.role!,
value: (presentationMailbox) => presentationMailbox);
final mapFolderMailbox = Map<MailboxId, PresentationMailbox>.fromIterable(
folderMailboxList,
final mapMailbox = Map<MailboxId, PresentationMailbox>.fromIterable(
allMailbox,
key: (presentationMailbox) => presentationMailbox.id,
value: (presentationMailbox) => presentationMailbox);
mailboxDashBoardController.setMapDefaultMailboxId(mapDefaultMailboxId);
mailboxDashBoardController.setMapMailbox(mapMailbox);
var mailboxCurrent = mailboxDashBoardController.selectedMailbox.value;
if (mailboxCurrent != null) {
@@ -157,15 +161,14 @@ class MailboxController extends BaseController {
? mapDefaultMailbox[mailboxCurrent.role]
: mailboxCurrent);
} else {
mailboxDashBoardController.setNewFirstSelectedMailbox(mapFolderMailbox.containsKey(mailboxCurrent.id)
? mapFolderMailbox[mailboxCurrent.id]
mailboxDashBoardController.setNewFirstSelectedMailbox(mapMailbox.containsKey(mailboxCurrent.id)
? mapMailbox[mailboxCurrent.id]
: mailboxCurrent);
}
} else {
if (mapDefaultMailbox.containsKey(PresentationMailbox.roleInbox)) {
mailboxDashBoardController.setNewFirstSelectedMailbox(mapDefaultMailbox[PresentationMailbox.roleInbox]);
} else {
final allMailbox = defaultMailboxList + folderMailboxList;
if (allMailbox.isNotEmpty) {
mailboxDashBoardController.setNewFirstSelectedMailbox(allMailbox.first);
}