TF-2684 Add button Mail to attendees to open composer with to: all attendees

This commit is contained in:
dab246
2024-03-13 02:38:07 +07:00
committed by Dat H. Pham
parent 56eff652fb
commit db7334669b
7 changed files with 30 additions and 4 deletions
@@ -8,7 +8,8 @@ import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
enum EventActionType {
yes,
maybe,
no;
no,
mailToAttendees;
String getLabelButton(BuildContext context) {
switch(this) {
@@ -18,6 +19,8 @@ enum EventActionType {
return AppLocalizations.of(context).maybe;
case EventActionType.no:
return AppLocalizations.of(context).no;
case EventActionType.mailToAttendees:
return AppLocalizations.of(context).mailToAttendees;
}
}
@@ -62,6 +65,10 @@ class EventAction with EquatableMixin {
EventAction(this.actionType, this.link);
factory EventAction.mailToAttendees() {
return EventAction(EventActionType.mailToAttendees, '');
}
@override
List<Object?> get props => [actionType, link];
}
@@ -16,6 +16,8 @@ import 'package:jmap_dart_client/jmap/core/id.dart';
import 'package:jmap_dart_client/jmap/core/session/session.dart';
import 'package:jmap_dart_client/jmap/identities/identity.dart';
import 'package:jmap_dart_client/jmap/mail/calendar/calendar_event.dart';
import 'package:jmap_dart_client/jmap/mail/calendar/properties/attendee/calendar_attendee.dart';
import 'package:jmap_dart_client/jmap/mail/calendar/properties/calendar_organizer.dart';
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
import 'package:jmap_dart_client/jmap/mdn/disposition.dart';
@@ -1659,7 +1661,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
break;
}
}
void _acceptCalendarEventAction(EmailId emailId) {
if (_acceptCalendarEventInteractor == null
|| _displayingEventBlobId == null
@@ -14,6 +14,7 @@ class CalendarEventActionButtonWidget extends StatelessWidget {
final OnCalendarEventReplyActionClick onCalendarEventReplyActionClick;
final bool calendarEventReplying;
final PresentationEmail? presentationEmail;
final VoidCallback? onMailToAttendeesAction;
final _responsiveUtils = Get.find<ResponsiveUtils>();
@@ -23,6 +24,7 @@ class CalendarEventActionButtonWidget extends StatelessWidget {
required this.calendarEventReplying,
this.margin,
this.presentationEmail,
this.onMailToAttendeesAction,
});
@override
@@ -57,7 +59,7 @@ class CalendarEventActionButtonWidget extends StatelessWidget {
color: _getButtonBorderColor(action)
),
onTapActionCallback: _getCallbackFunction(action),
),
)
))
.toList(),
),
@@ -8,6 +8,7 @@ import 'package:tmail_ui_user/features/email/presentation/extensions/calendar_ev
import 'package:tmail_ui_user/features/email/presentation/styles/calendar_event_information_widget_styles.dart';
import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/calendar_date_icon_widget.dart';
import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/calendar_event_action_button_widget.dart';
import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/calendar_event_detail_widget.dart';
import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/event_attendee_information_widget.dart';
import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/event_location_detail_widget.dart';
import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/event_location_information_widget.dart';
@@ -151,6 +151,7 @@ class _EmailReceiverWidgetState extends State<EmailReceiverWidget> {
constraints: BoxConstraints(maxHeight: _maxHeight),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
if (widget.emailSelected.to.numberEmailAddress() > 0)
_buildRecipientsWidgetToDisplayFull(
+7 -1
View File
@@ -1,5 +1,5 @@
{
"@@last_modified": "2024-03-12T12:50:35.525381",
"@@last_modified": "2024-03-13T01:12:22.224880",
"initializing_data": "Initializing data...",
"@initializing_data": {
"type": "text",
@@ -3851,5 +3851,11 @@
"type": "text",
"placeholders_order": [],
"placeholders": {}
},
"mailToAttendees": "Mail to attendees",
"@mailToAttendees": {
"type": "text",
"placeholders_order": [],
"placeholders": {}
}
}
@@ -4023,4 +4023,11 @@ class AppLocalizations {
name: 'canceling'
);
}
String get mailToAttendees {
return Intl.message(
'Mail to attendees',
name: 'mailToAttendees'
);
}
}