TF-832 Implement delete multiple recipient in forwarding

This commit is contained in:
dab246
2022-08-19 13:28:27 +07:00
committed by Dat H. Pham
parent 7da79592c8
commit 6acf70e61b
9 changed files with 377 additions and 61 deletions
@@ -0,0 +1,35 @@
import 'package:equatable/equatable.dart';
import 'package:model/mailbox/select_mode.dart';
class RecipientForward with EquatableMixin {
final String emailAddress;
final SelectMode selectMode;
RecipientForward(this.emailAddress, {this.selectMode = SelectMode.INACTIVE});
@override
List<Object?> get props => [emailAddress, selectMode];
}
extension RecipientForwardExtension on RecipientForward {
RecipientForward toggleSelection() {
return RecipientForward(
emailAddress,
selectMode: selectMode == SelectMode.ACTIVE
? SelectMode.INACTIVE
: SelectMode.ACTIVE
);
}
RecipientForward cancelSelection() {
return RecipientForward(emailAddress, selectMode: SelectMode.INACTIVE);
}
}
extension ListRecipientForwardExtension on List<RecipientForward> {
Set<String> get listEmailAddress =>
map((recipient) => recipient.emailAddress).toSet();
}