TF-2684 Add button Mail to attendees to open composer with to: all attendees
This commit is contained in:
@@ -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
|
||||
|
||||
+3
-1
@@ -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(),
|
||||
),
|
||||
|
||||
+1
@@ -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(
|
||||
|
||||
@@ -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'
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user