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 {
|
enum EventActionType {
|
||||||
yes,
|
yes,
|
||||||
maybe,
|
maybe,
|
||||||
no;
|
no,
|
||||||
|
mailToAttendees;
|
||||||
|
|
||||||
String getLabelButton(BuildContext context) {
|
String getLabelButton(BuildContext context) {
|
||||||
switch(this) {
|
switch(this) {
|
||||||
@@ -18,6 +19,8 @@ enum EventActionType {
|
|||||||
return AppLocalizations.of(context).maybe;
|
return AppLocalizations.of(context).maybe;
|
||||||
case EventActionType.no:
|
case EventActionType.no:
|
||||||
return AppLocalizations.of(context).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);
|
EventAction(this.actionType, this.link);
|
||||||
|
|
||||||
|
factory EventAction.mailToAttendees() {
|
||||||
|
return EventAction(EventActionType.mailToAttendees, '');
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
List<Object?> get props => [actionType, link];
|
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/core/session/session.dart';
|
||||||
import 'package:jmap_dart_client/jmap/identities/identity.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/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.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/email_address.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mdn/disposition.dart';
|
import 'package:jmap_dart_client/jmap/mdn/disposition.dart';
|
||||||
|
|||||||
+3
-1
@@ -14,6 +14,7 @@ class CalendarEventActionButtonWidget extends StatelessWidget {
|
|||||||
final OnCalendarEventReplyActionClick onCalendarEventReplyActionClick;
|
final OnCalendarEventReplyActionClick onCalendarEventReplyActionClick;
|
||||||
final bool calendarEventReplying;
|
final bool calendarEventReplying;
|
||||||
final PresentationEmail? presentationEmail;
|
final PresentationEmail? presentationEmail;
|
||||||
|
final VoidCallback? onMailToAttendeesAction;
|
||||||
|
|
||||||
final _responsiveUtils = Get.find<ResponsiveUtils>();
|
final _responsiveUtils = Get.find<ResponsiveUtils>();
|
||||||
|
|
||||||
@@ -23,6 +24,7 @@ class CalendarEventActionButtonWidget extends StatelessWidget {
|
|||||||
required this.calendarEventReplying,
|
required this.calendarEventReplying,
|
||||||
this.margin,
|
this.margin,
|
||||||
this.presentationEmail,
|
this.presentationEmail,
|
||||||
|
this.onMailToAttendeesAction,
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -57,7 +59,7 @@ class CalendarEventActionButtonWidget extends StatelessWidget {
|
|||||||
color: _getButtonBorderColor(action)
|
color: _getButtonBorderColor(action)
|
||||||
),
|
),
|
||||||
onTapActionCallback: _getCallbackFunction(action),
|
onTapActionCallback: _getCallbackFunction(action),
|
||||||
),
|
)
|
||||||
))
|
))
|
||||||
.toList(),
|
.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/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_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_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_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_detail_widget.dart';
|
||||||
import 'package:tmail_ui_user/features/email/presentation/widgets/calendar_event/event_location_information_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),
|
constraints: BoxConstraints(maxHeight: _maxHeight),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
if (widget.emailSelected.to.numberEmailAddress() > 0)
|
if (widget.emailSelected.to.numberEmailAddress() > 0)
|
||||||
_buildRecipientsWidgetToDisplayFull(
|
_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": "Initializing data...",
|
||||||
"@initializing_data": {
|
"@initializing_data": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@@ -3851,5 +3851,11 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"mailToAttendees": "Mail to attendees",
|
||||||
|
"@mailToAttendees": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders_order": [],
|
||||||
|
"placeholders": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4023,4 +4023,11 @@ class AppLocalizations {
|
|||||||
name: 'canceling'
|
name: 'canceling'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String get mailToAttendees {
|
||||||
|
return Intl.message(
|
||||||
|
'Mail to attendees',
|
||||||
|
name: 'mailToAttendees'
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user