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
@@ -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
),