TF-2713 Small evolution for printing
This commit is contained in:
@@ -48,13 +48,10 @@ extension DateTimeNullableExtension on DateTime? {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String toPatternForEmailView() {
|
String toPatternForEmailView() {
|
||||||
if (this != null) {
|
if (this?.isThisYear() == true) {
|
||||||
if (this!.isThisYear()) {
|
return 'dd.MM, HH:mm';
|
||||||
return 'dd.MM, HH:mm';
|
} else {
|
||||||
} else {
|
return 'dd.MM.yyyy, HH:mm';
|
||||||
return 'dd/MM/yyyy';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return 'dd/MM/yyyy';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ class PrintUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Element? _createSenderElement({
|
Element? _createSenderElement({
|
||||||
|
required String fromPrefix,
|
||||||
required String senderName,
|
required String senderName,
|
||||||
required String senderEmailAddress,
|
required String senderEmailAddress,
|
||||||
required String dateTime,
|
required String dateTime,
|
||||||
@@ -79,7 +80,7 @@ class PrintUtils {
|
|||||||
return Element.html('''
|
return Element.html('''
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<font size="-1"><b>$senderName </b><$senderEmailAddress></font>
|
<font size="-1">$fromPrefix: <b>$senderName </b><$senderEmailAddress></font>
|
||||||
</td>
|
</td>
|
||||||
<td align="right"><font size="-1">$dateTime</font></td>
|
<td align="right"><font size="-1">$dateTime</font></td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -207,8 +208,8 @@ class PrintUtils {
|
|||||||
required String emailContent,
|
required String emailContent,
|
||||||
required String senderName,
|
required String senderName,
|
||||||
required String senderEmailAddress,
|
required String senderEmailAddress,
|
||||||
required String locale,
|
|
||||||
required String dateTime,
|
required String dateTime,
|
||||||
|
required String fromPrefix,
|
||||||
required String toPrefix,
|
required String toPrefix,
|
||||||
required String ccPrefix,
|
required String ccPrefix,
|
||||||
required String bccPrefix,
|
required String bccPrefix,
|
||||||
@@ -234,6 +235,7 @@ class PrintUtils {
|
|||||||
Element? subjectElement = _createSubjectElement(subject);
|
Element? subjectElement = _createSubjectElement(subject);
|
||||||
|
|
||||||
Element? senderElement = _createSenderElement(
|
Element? senderElement = _createSenderElement(
|
||||||
|
fromPrefix: fromPrefix,
|
||||||
senderName: senderName,
|
senderName: senderName,
|
||||||
senderEmailAddress: senderEmailAddress,
|
senderEmailAddress: senderEmailAddress,
|
||||||
dateTime: dateTime);
|
dateTime: dateTime);
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
import 'package:core/data/model/print_attachment.dart';
|
import 'package:core/data/model/print_attachment.dart';
|
||||||
|
import 'package:core/domain/extensions/datetime_extension.dart';
|
||||||
import 'package:core/presentation/resources/image_paths.dart';
|
import 'package:core/presentation/resources/image_paths.dart';
|
||||||
import 'package:core/utils/file_utils.dart';
|
import 'package:core/utils/file_utils.dart';
|
||||||
import 'package:core/utils/print_utils.dart';
|
import 'package:core/utils/print_utils.dart';
|
||||||
import 'package:filesize/filesize.dart';
|
import 'package:filesize/filesize.dart';
|
||||||
import 'package:model/email/attachment.dart';
|
import 'package:model/email/attachment.dart';
|
||||||
import 'package:model/extensions/utc_date_extension.dart';
|
import 'package:model/extensions/email_extension.dart';
|
||||||
import 'package:tmail_ui_user/features/email/data/datasource/print_file_datasource.dart';
|
import 'package:tmail_ui_user/features/email/data/datasource/print_file_datasource.dart';
|
||||||
import 'package:tmail_ui_user/features/email/domain/model/email_print.dart';
|
import 'package:tmail_ui_user/features/email/domain/model/email_print.dart';
|
||||||
import 'package:tmail_ui_user/features/email/presentation/extensions/attachment_extension.dart';
|
import 'package:tmail_ui_user/features/email/presentation/extensions/attachment_extension.dart';
|
||||||
@@ -30,9 +31,10 @@ class PrintFileDataSourceImpl extends PrintFileDataSource {
|
|||||||
final sender = emailPrint.emailInformation.from?.isNotEmpty == true
|
final sender = emailPrint.emailInformation.from?.isNotEmpty == true
|
||||||
? emailPrint.emailInformation.from!.first
|
? emailPrint.emailInformation.from!.first
|
||||||
: null;
|
: null;
|
||||||
final receiveTime = emailPrint.emailInformation.receivedAt?.formatDateToLocal(
|
final receiveTime = emailPrint.emailInformation.getReceivedAt(
|
||||||
pattern: 'E, MMM d, yyyy \'at\' h:mm a',
|
newLocale: emailPrint.locale,
|
||||||
locale: emailPrint.locale);
|
pattern: emailPrint.emailInformation.receivedAt?.value.toLocal().toPatternForEmailView()
|
||||||
|
);
|
||||||
|
|
||||||
final List<PrintAttachment> listPrintAttachment = [];
|
final List<PrintAttachment> listPrintAttachment = [];
|
||||||
|
|
||||||
@@ -51,12 +53,12 @@ class PrintFileDataSourceImpl extends PrintFileDataSource {
|
|||||||
return await _printUtils.printEmail(
|
return await _printUtils.printEmail(
|
||||||
appName: emailPrint.appName,
|
appName: emailPrint.appName,
|
||||||
userName: emailPrint.userName,
|
userName: emailPrint.userName,
|
||||||
locale: emailPrint.locale,
|
|
||||||
subject: emailPrint.emailInformation.subject ?? '',
|
subject: emailPrint.emailInformation.subject ?? '',
|
||||||
emailContent: emailPrint.emailContent,
|
emailContent: emailPrint.emailContent,
|
||||||
senderName: sender?.name ?? '',
|
senderName: sender?.name ?? '',
|
||||||
senderEmailAddress: sender?.email ?? '',
|
senderEmailAddress: sender?.email ?? '',
|
||||||
dateTime: receiveTime ?? '',
|
dateTime: receiveTime,
|
||||||
|
fromPrefix: emailPrint.fromPrefix,
|
||||||
toPrefix: emailPrint.toPrefix,
|
toPrefix: emailPrint.toPrefix,
|
||||||
ccPrefix: emailPrint.ccPrefix,
|
ccPrefix: emailPrint.ccPrefix,
|
||||||
bccPrefix: emailPrint.bccPrefix,
|
bccPrefix: emailPrint.bccPrefix,
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ class EmailPrint with EquatableMixin {
|
|||||||
final String emailContent;
|
final String emailContent;
|
||||||
final String locale;
|
final String locale;
|
||||||
final String toPrefix;
|
final String toPrefix;
|
||||||
|
final String fromPrefix;
|
||||||
final String ccPrefix;
|
final String ccPrefix;
|
||||||
final String bccPrefix;
|
final String bccPrefix;
|
||||||
final String replyToPrefix;
|
final String replyToPrefix;
|
||||||
@@ -25,6 +26,7 @@ class EmailPrint with EquatableMixin {
|
|||||||
required this.emailInformation,
|
required this.emailInformation,
|
||||||
required this.emailContent,
|
required this.emailContent,
|
||||||
required this.locale,
|
required this.locale,
|
||||||
|
required this.fromPrefix,
|
||||||
required this.toPrefix,
|
required this.toPrefix,
|
||||||
required this.ccPrefix,
|
required this.ccPrefix,
|
||||||
required this.bccPrefix,
|
required this.bccPrefix,
|
||||||
@@ -44,6 +46,7 @@ class EmailPrint with EquatableMixin {
|
|||||||
emailInformation,
|
emailInformation,
|
||||||
emailContent,
|
emailContent,
|
||||||
locale,
|
locale,
|
||||||
|
fromPrefix,
|
||||||
toPrefix,
|
toPrefix,
|
||||||
ccPrefix,
|
ccPrefix,
|
||||||
bccPrefix,
|
bccPrefix,
|
||||||
@@ -66,6 +69,7 @@ extension EmailPrintExtension on EmailPrint {
|
|||||||
emailContent: newEmailContent,
|
emailContent: newEmailContent,
|
||||||
titleAttachment: titleAttachment,
|
titleAttachment: titleAttachment,
|
||||||
locale: locale,
|
locale: locale,
|
||||||
|
fromPrefix: fromPrefix,
|
||||||
toPrefix: toPrefix,
|
toPrefix: toPrefix,
|
||||||
ccPrefix: ccPrefix,
|
ccPrefix: ccPrefix,
|
||||||
bccPrefix: bccPrefix,
|
bccPrefix: bccPrefix,
|
||||||
|
|||||||
@@ -1599,6 +1599,7 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
|
|||||||
attachments: _currentEmailLoaded?.attachments,
|
attachments: _currentEmailLoaded?.attachments,
|
||||||
emailContent: _currentEmailLoaded?.htmlContent ?? '',
|
emailContent: _currentEmailLoaded?.htmlContent ?? '',
|
||||||
locale: Localizations.localeOf(context).toLanguageTag(),
|
locale: Localizations.localeOf(context).toLanguageTag(),
|
||||||
|
fromPrefix: AppLocalizations.of(context).from_email_address_prefix,
|
||||||
toPrefix: AppLocalizations.of(context).to_email_address_prefix,
|
toPrefix: AppLocalizations.of(context).to_email_address_prefix,
|
||||||
ccPrefix: AppLocalizations.of(context).cc_email_address_prefix,
|
ccPrefix: AppLocalizations.of(context).cc_email_address_prefix,
|
||||||
bccPrefix: AppLocalizations.of(context).bcc_email_address_prefix,
|
bccPrefix: AppLocalizations.of(context).bcc_email_address_prefix,
|
||||||
|
|||||||
+1
-4
@@ -81,10 +81,7 @@ class InformationSenderAndReceiverBuilder extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
ReceivedTimeBuilder(
|
ReceivedTimeBuilder(emailSelected: emailSelected),
|
||||||
emailSelected: emailSelected,
|
|
||||||
margin: const EdgeInsetsDirectional.only(start: 16),
|
|
||||||
),
|
|
||||||
]),
|
]),
|
||||||
if (emailSelected.numberOfAllEmailAddress() > 0)
|
if (emailSelected.numberOfAllEmailAddress() > 0)
|
||||||
EmailReceiverWidget(
|
EmailReceiverWidget(
|
||||||
|
|||||||
@@ -9,19 +9,16 @@ import 'package:model/extensions/presentation_email_extension.dart';
|
|||||||
class ReceivedTimeBuilder extends StatelessWidget {
|
class ReceivedTimeBuilder extends StatelessWidget {
|
||||||
|
|
||||||
final PresentationEmail emailSelected;
|
final PresentationEmail emailSelected;
|
||||||
final EdgeInsetsGeometry? margin;
|
|
||||||
|
|
||||||
const ReceivedTimeBuilder({
|
const ReceivedTimeBuilder({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.emailSelected,
|
required this.emailSelected,
|
||||||
this.margin,
|
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Container(
|
return Padding(
|
||||||
constraints: const BoxConstraints(maxWidth: 100),
|
padding: const EdgeInsetsDirectional.only(start: 16),
|
||||||
margin: margin,
|
|
||||||
child: Text(
|
child: Text(
|
||||||
emailSelected.getReceivedAt(
|
emailSelected.getReceivedAt(
|
||||||
Localizations.localeOf(context).toLanguageTag(),
|
Localizations.localeOf(context).toLanguageTag(),
|
||||||
|
|||||||
+2
-2
@@ -16,9 +16,9 @@ enum AdvancedSearchFilterField {
|
|||||||
String getTitle(BuildContext context) {
|
String getTitle(BuildContext context) {
|
||||||
switch (this) {
|
switch (this) {
|
||||||
case AdvancedSearchFilterField.from:
|
case AdvancedSearchFilterField.from:
|
||||||
return AppLocalizations.of(context).form;
|
return AppLocalizations.of(context).from_email_address_prefix;
|
||||||
case AdvancedSearchFilterField.to:
|
case AdvancedSearchFilterField.to:
|
||||||
return AppLocalizations.of(context).to;
|
return AppLocalizations.of(context).to_email_address_prefix;
|
||||||
case AdvancedSearchFilterField.subject:
|
case AdvancedSearchFilterField.subject:
|
||||||
return AppLocalizations.of(context).subject;
|
return AppLocalizations.of(context).subject;
|
||||||
case AdvancedSearchFilterField.hasKeyword:
|
case AdvancedSearchFilterField.hasKeyword:
|
||||||
|
|||||||
@@ -1871,24 +1871,12 @@
|
|||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"form": "من",
|
|
||||||
"@form": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders_order": [],
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"subject": "الموضوع",
|
"subject": "الموضوع",
|
||||||
"@subject": {
|
"@subject": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"to": "إلى",
|
|
||||||
"@to": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders_order": [],
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"hasTheWords": "لديه الكلمات",
|
"hasTheWords": "لديه الكلمات",
|
||||||
"@hasTheWords": {
|
"@hasTheWords": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@@ -1439,18 +1439,6 @@
|
|||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"form": "From",
|
|
||||||
"@form": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders_order": [],
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"to": "To",
|
|
||||||
"@to": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders_order": [],
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"subject": "Subject",
|
"subject": "Subject",
|
||||||
"@subject": {
|
"@subject": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
+2
-14
@@ -108,7 +108,7 @@
|
|||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"to_email_address_prefix": "Pour",
|
"to_email_address_prefix": "À",
|
||||||
"@to_email_address_prefix": {
|
"@to_email_address_prefix": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
@@ -1174,18 +1174,6 @@
|
|||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"form": "De",
|
|
||||||
"@form": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders_order": [],
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"to": "À",
|
|
||||||
"@to": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders_order": [],
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"hasTheWords": "Contient les mots",
|
"hasTheWords": "Contient les mots",
|
||||||
"@hasTheWords": {
|
"@hasTheWords": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@@ -2734,7 +2722,7 @@
|
|||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"titleRecipientSendingEmail": "Pour : {recipients}",
|
"titleRecipientSendingEmail": "À: {recipients}",
|
||||||
"@titleRecipientSendingEmail": {
|
"@titleRecipientSendingEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders_order": [
|
"placeholders_order": [
|
||||||
|
|||||||
@@ -1335,18 +1335,6 @@
|
|||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"form": "Da",
|
|
||||||
"@form": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders_order": [],
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"to": "A",
|
|
||||||
"@to": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders_order": [],
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"subject": "Oggetto",
|
"subject": "Oggetto",
|
||||||
"@subject": {
|
"@subject": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"@@last_modified": "2024-03-13T15:04:05.816015",
|
"@@last_modified": "2024-03-15T11:06:05.333495",
|
||||||
"initializing_data": "Initializing data...",
|
"initializing_data": "Initializing data...",
|
||||||
"@initializing_data": {
|
"@initializing_data": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@@ -1440,18 +1440,6 @@
|
|||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"form": "From",
|
|
||||||
"@form": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders_order": [],
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"to": "To",
|
|
||||||
"@to": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders_order": [],
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"subject": "Subject",
|
"subject": "Subject",
|
||||||
"@subject": {
|
"@subject": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@@ -1336,12 +1336,6 @@
|
|||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"form": "От",
|
|
||||||
"@form": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders_order": [],
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"subject": "Тема",
|
"subject": "Тема",
|
||||||
"@subject": {
|
"@subject": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@@ -1450,12 +1444,6 @@
|
|||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"to": "Кому",
|
|
||||||
"@to": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders_order": [],
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveAndClose": "Сохранить и закрыть",
|
"saveAndClose": "Сохранить и закрыть",
|
||||||
"@saveAndClose": {
|
"@saveAndClose": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@@ -748,18 +748,6 @@
|
|||||||
"placeholders_order": [],
|
"placeholders_order": [],
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"form": "Từ",
|
|
||||||
"@form": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders_order": [],
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"to": "Tới",
|
|
||||||
"@to": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders_order": [],
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"subject": "Tiêu đề",
|
"subject": "Tiêu đề",
|
||||||
"@subject": {
|
"@subject": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@@ -1457,20 +1457,6 @@ class AppLocalizations {
|
|||||||
name: 'wrongUrlMessage');
|
name: 'wrongUrlMessage');
|
||||||
}
|
}
|
||||||
|
|
||||||
String get form {
|
|
||||||
return Intl.message(
|
|
||||||
'From',
|
|
||||||
name: 'form',
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
String get to {
|
|
||||||
return Intl.message(
|
|
||||||
'To',
|
|
||||||
name: 'to',
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
String get subject {
|
String get subject {
|
||||||
return Intl.message(
|
return Intl.message(
|
||||||
'Subject',
|
'Subject',
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:collection/collection.dart';
|
import 'package:collection/collection.dart';
|
||||||
|
import 'package:core/domain/extensions/datetime_extension.dart';
|
||||||
import 'package:core/utils/app_logger.dart';
|
import 'package:core/utils/app_logger.dart';
|
||||||
import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
|
import 'package:jmap_dart_client/jmap/core/properties/properties.dart';
|
||||||
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
import 'package:jmap_dart_client/jmap/mail/email/email.dart';
|
||||||
@@ -44,6 +45,17 @@ extension EmailExtension on Email {
|
|||||||
mailboxCurrent?.isSent == false;
|
mailboxCurrent?.isSent == false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String getReceivedAt({required String newLocale, String? pattern}) {
|
||||||
|
log('EmailExtension::getReceivedAt: newLocale = $newLocale | pattern = $pattern');
|
||||||
|
if (receivedAt != null) {
|
||||||
|
return receivedAt!.formatDateToLocal(
|
||||||
|
pattern: pattern ?? receivedAt!.value.toLocal().toPattern(),
|
||||||
|
locale: newLocale
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
Set<String> getRecipientEmailAddressList() {
|
Set<String> getRecipientEmailAddressList() {
|
||||||
final listEmailAddress = <String>{};
|
final listEmailAddress = <String>{};
|
||||||
final listToAddress = to.getListAddress() ?? [];
|
final listToAddress = to.getListAddress() ?? [];
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ extension PresentationEmailExtension on PresentationEmail {
|
|||||||
int numberOfAllEmailAddress() => to.numberEmailAddress() + cc.numberEmailAddress() + bcc.numberEmailAddress();
|
int numberOfAllEmailAddress() => to.numberEmailAddress() + cc.numberEmailAddress() + bcc.numberEmailAddress();
|
||||||
|
|
||||||
String getReceivedAt(String newLocale, {String? pattern}) {
|
String getReceivedAt(String newLocale, {String? pattern}) {
|
||||||
|
log('PresentationEmailExtension::getReceivedAt: newLocale = $newLocale | pattern = $pattern');
|
||||||
final emailTime = receivedAt;
|
final emailTime = receivedAt;
|
||||||
if (emailTime != null) {
|
if (emailTime != null) {
|
||||||
return emailTime.formatDateToLocal(
|
return emailTime.formatDateToLocal(
|
||||||
|
|||||||
Reference in New Issue
Block a user