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);
|
pressEmailSelectionAction(emailActionType, emails);
|
||||||
} else if (type == EmailSelectionActionType.moreAction) {
|
} else if (type == EmailSelectionActionType.moreAction) {
|
||||||
_showMoreActionMenu(context, emails, selectedMailbox);
|
_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();
|
focusNodeKeyBoard?.requestFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_isUnSelectedAll()) {
|
if (mailboxDashBoardController.emailsInCurrentMailbox.isAllSelectionInActive) {
|
||||||
mailboxDashBoardController.currentSelectMode.value = SelectMode.INACTIVE;
|
mailboxDashBoardController.currentSelectMode.value = SelectMode.INACTIVE;
|
||||||
mailboxDashBoardController.listEmailSelected.clear();
|
mailboxDashBoardController.listEmailSelected.clear();
|
||||||
} else {
|
} else {
|
||||||
@@ -901,11 +901,6 @@ class ThreadController extends BaseController with EmailActionController {
|
|||||||
List<PresentationEmail> get listEmailSelected =>
|
List<PresentationEmail> get listEmailSelected =>
|
||||||
mailboxDashBoardController.emailsInCurrentMailbox.listEmailSelected;
|
mailboxDashBoardController.emailsInCurrentMailbox.listEmailSelected;
|
||||||
|
|
||||||
bool _isUnSelectedAll() {
|
|
||||||
return mailboxDashBoardController.emailsInCurrentMailbox
|
|
||||||
.every((email) => email.selectMode == SelectMode.INACTIVE);
|
|
||||||
}
|
|
||||||
|
|
||||||
void cancelSelectEmail() {
|
void cancelSelectEmail() {
|
||||||
if (mailboxDashBoardController.currentSelectMode.value == SelectMode.INACTIVE) {
|
if (mailboxDashBoardController.currentSelectMode.value == SelectMode.INACTIVE) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -13,6 +13,10 @@ extension ListPresentationEmailExtension on List<PresentationEmail> {
|
|||||||
return every((email) => email.selectMode == SelectMode.INACTIVE);
|
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<Email> get listEmail => map((presentationEmail) => presentationEmail.toEmail()).toList();
|
||||||
|
|
||||||
List<PresentationEmail> get listEmailSelected {
|
List<PresentationEmail> get listEmailSelected {
|
||||||
|
|||||||
Reference in New Issue
Block a user