TF-3939 Add action Select all in mobile view
Signed-off-by: dab246 <tdvu@linagora.com>
This commit is contained in:
@@ -23,6 +23,8 @@ extension HandlePressEmailSelectionActionExtension on ThreadController {
|
||||
pressEmailSelectionAction(emailActionType, emails);
|
||||
} else if (type == EmailSelectionActionType.moreAction) {
|
||||
_showMoreActionMenu(context, emails, selectedMailbox);
|
||||
} else if (type == EmailSelectionActionType.selectAll) {
|
||||
_showSelectAllEmails();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,4 +82,10 @@ extension HandlePressEmailSelectionActionExtension on ThreadController {
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
void _showSelectAllEmails() {
|
||||
if (mailboxDashBoardController.emailsInCurrentMailbox.isAnySelectionInActive) {
|
||||
setSelectAllEmailAction();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -878,7 +878,7 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
focusNodeKeyBoard?.requestFocus();
|
||||
}
|
||||
|
||||
if (_isUnSelectedAll()) {
|
||||
if (mailboxDashBoardController.emailsInCurrentMailbox.isAllSelectionInActive) {
|
||||
mailboxDashBoardController.currentSelectMode.value = SelectMode.INACTIVE;
|
||||
mailboxDashBoardController.listEmailSelected.clear();
|
||||
} else {
|
||||
@@ -901,11 +901,6 @@ class ThreadController extends BaseController with EmailActionController {
|
||||
List<PresentationEmail> get listEmailSelected =>
|
||||
mailboxDashBoardController.emailsInCurrentMailbox.listEmailSelected;
|
||||
|
||||
bool _isUnSelectedAll() {
|
||||
return mailboxDashBoardController.emailsInCurrentMailbox
|
||||
.every((email) => email.selectMode == SelectMode.INACTIVE);
|
||||
}
|
||||
|
||||
void cancelSelectEmail() {
|
||||
if (mailboxDashBoardController.currentSelectMode.value == SelectMode.INACTIVE) {
|
||||
return;
|
||||
|
||||
@@ -13,6 +13,10 @@ extension ListPresentationEmailExtension on List<PresentationEmail> {
|
||||
return every((email) => email.selectMode == SelectMode.INACTIVE);
|
||||
}
|
||||
|
||||
bool get isAnySelectionInActive {
|
||||
return any((email) => email.selectMode == SelectMode.INACTIVE);
|
||||
}
|
||||
|
||||
List<Email> get listEmail => map((presentationEmail) => presentationEmail.toEmail()).toList();
|
||||
|
||||
List<PresentationEmail> get listEmailSelected {
|
||||
|
||||
Reference in New Issue
Block a user