Fix display block quoted content in composer

This commit is contained in:
dab246
2022-04-14 12:11:28 +07:00
committed by Dat H. Pham
parent 561f8041ea
commit 7f4098522d
6 changed files with 19 additions and 33 deletions
@@ -35,22 +35,6 @@ String generateHtml(String content, {
.tmail-content {
min-height: ${minHeight ?? 0}px;
min-width: ${minWidth ?? 0}px;
color: #000000;
font-family: Inter;
font-size: 16px;
font-style: normal;
}
table {
width: 100%;
max-width: 100%;
}
td {
padding: 13px;
margin: 0px;
}
th {
padding: 13px;
margin: 0px;
}
${styleCSS ?? ''}
</style>
@@ -192,7 +192,6 @@ class ComposerController extends BaseController {
void _initEmail() {
final arguments = kIsWeb ? mailboxDashBoardController.routerArguments : Get.arguments;
if (arguments is ComposerArguments) {
log('ComposerController::_initEmail(): arguments: ${arguments.props}');
composerArguments.value = arguments;
if (arguments.emailActionType == EmailActionType.edit) {
_getEmailContentAction(arguments);
@@ -310,16 +309,11 @@ class ComposerController extends BaseController {
final headerEmailQuoted = _getHeaderEmailQuoted(Localizations.localeOf(context).toLanguageTag(), arguments);
final headerEmailQuotedAsHtml = headerEmailQuoted != null
? AppLocalizations.of(context).header_email_quoted(headerEmailQuoted.value1, headerEmailQuoted.value2)
.addBlockTag('p', attribute: 'style=\"font-size:14px;font-style:italic;color:#182952;\"')
? AppLocalizations.of(context).header_email_quoted(headerEmailQuoted.value1, headerEmailQuoted.value2).addBlockTag('cite')
: '';
final trustAsHtml = arguments.emailContents
?.map((emailContent) => emailContent.asHtml)
.toList()
.join('<br>') ?? '';
final emailQuotedHtml = '<br><br>$headerEmailQuotedAsHtml${trustAsHtml.addBlockQuoteTag()}<br>';
final trustAsHtml = arguments.emailContents?.asHtmlString ?? '';
final emailQuotedHtml = '<p></br></p>$headerEmailQuotedAsHtml${trustAsHtml.addBlockQuoteTag()}';
return emailQuotedHtml;
}
@@ -699,9 +693,7 @@ class ComposerController extends BaseController {
String? getEmailContentDraftsAsHtml() {
final listContents = emailContents.value;
if (listContents != null) {
return listContents.isNotEmpty
? listContents.map((emailContent) => emailContent.content).toList().join('</br>')
: '';
return listContents.asHtmlString;
} else {
return null;
}
@@ -2,7 +2,6 @@ import 'package:core/core.dart';
import 'package:file_picker/file_picker.dart';
import 'package:filesize/filesize.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:get/get.dart';
@@ -294,7 +293,6 @@ class ComposerView extends GetWidget<ComposerController> {
controller.subjectEmail.isNotEmpty == true
? controller.subjectEmail.value ?? ''
: AppLocalizations.of(context).new_message.capitalizeFirstEach,
overflow: kIsWeb ? null : TextOverflow.ellipsis,
maxLines: 1,
textAlign: TextAlign.center,
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold, color: Colors.black),
@@ -470,9 +468,9 @@ class ComposerView extends GetWidget<ComposerController> {
controller: controller.htmlControllerBrowser,
htmlEditorOptions: HtmlEditorBrowser.HtmlEditorOptions(
hint: '${AppLocalizations.of(context).hint_compose_email}',
initialText: initContent,
darkMode: false,
),
blockQuotedContent: initContent,
htmlToolbarOptions: HtmlEditorBrowser.HtmlToolbarOptions(
toolbarPosition: HtmlEditorBrowser.ToolbarPosition.custom
),
@@ -0,0 +1,11 @@
import 'package:model/model.dart';
extension ListEmailContentExtension on List<EmailContent> {
String get asHtmlString {
if (isNotEmpty) {
return map((content) => content.asHtml).join('</br>');
}
return '';
}
}
+1
View File
@@ -55,6 +55,7 @@ export 'extensions/list_email_extension.dart';
export 'extensions/media_type_extension.dart';
export 'extensions/list_attachment_extension.dart';
export 'extensions/list_presentation_email_extension.dart';
export 'extensions/list_email_content_extension.dart';
// Download
export 'download/download_task_id.dart';
+2 -2
View File
@@ -114,7 +114,7 @@ dependencies:
ref: master
# file_picker
file_picker: 4.2.0
file_picker: 4.5.1
# hive
hive: 2.0.4
@@ -128,7 +128,7 @@ dependencies:
html_editor_enhanced:
git:
url: https://github.com/dab246/html-editor-enhanced.git
ref: improvements
ref: fix_display_content
# fk_user_agent
fk_user_agent: 2.1.0