Fix display block quoted content in composer
This commit is contained in:
@@ -35,22 +35,6 @@ String generateHtml(String content, {
|
|||||||
.tmail-content {
|
.tmail-content {
|
||||||
min-height: ${minHeight ?? 0}px;
|
min-height: ${minHeight ?? 0}px;
|
||||||
min-width: ${minWidth ?? 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 ?? ''}
|
${styleCSS ?? ''}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -192,7 +192,6 @@ class ComposerController extends BaseController {
|
|||||||
void _initEmail() {
|
void _initEmail() {
|
||||||
final arguments = kIsWeb ? mailboxDashBoardController.routerArguments : Get.arguments;
|
final arguments = kIsWeb ? mailboxDashBoardController.routerArguments : Get.arguments;
|
||||||
if (arguments is ComposerArguments) {
|
if (arguments is ComposerArguments) {
|
||||||
log('ComposerController::_initEmail(): arguments: ${arguments.props}');
|
|
||||||
composerArguments.value = arguments;
|
composerArguments.value = arguments;
|
||||||
if (arguments.emailActionType == EmailActionType.edit) {
|
if (arguments.emailActionType == EmailActionType.edit) {
|
||||||
_getEmailContentAction(arguments);
|
_getEmailContentAction(arguments);
|
||||||
@@ -310,16 +309,11 @@ class ComposerController extends BaseController {
|
|||||||
final headerEmailQuoted = _getHeaderEmailQuoted(Localizations.localeOf(context).toLanguageTag(), arguments);
|
final headerEmailQuoted = _getHeaderEmailQuoted(Localizations.localeOf(context).toLanguageTag(), arguments);
|
||||||
|
|
||||||
final headerEmailQuotedAsHtml = headerEmailQuoted != null
|
final headerEmailQuotedAsHtml = headerEmailQuoted != null
|
||||||
? AppLocalizations.of(context).header_email_quoted(headerEmailQuoted.value1, headerEmailQuoted.value2)
|
? AppLocalizations.of(context).header_email_quoted(headerEmailQuoted.value1, headerEmailQuoted.value2).addBlockTag('cite')
|
||||||
.addBlockTag('p', attribute: 'style=\"font-size:14px;font-style:italic;color:#182952;\"')
|
|
||||||
: '';
|
: '';
|
||||||
|
|
||||||
final trustAsHtml = arguments.emailContents
|
final trustAsHtml = arguments.emailContents?.asHtmlString ?? '';
|
||||||
?.map((emailContent) => emailContent.asHtml)
|
final emailQuotedHtml = '<p></br></p>$headerEmailQuotedAsHtml${trustAsHtml.addBlockQuoteTag()}';
|
||||||
.toList()
|
|
||||||
.join('<br>') ?? '';
|
|
||||||
|
|
||||||
final emailQuotedHtml = '<br><br>$headerEmailQuotedAsHtml${trustAsHtml.addBlockQuoteTag()}<br>';
|
|
||||||
|
|
||||||
return emailQuotedHtml;
|
return emailQuotedHtml;
|
||||||
}
|
}
|
||||||
@@ -699,9 +693,7 @@ class ComposerController extends BaseController {
|
|||||||
String? getEmailContentDraftsAsHtml() {
|
String? getEmailContentDraftsAsHtml() {
|
||||||
final listContents = emailContents.value;
|
final listContents = emailContents.value;
|
||||||
if (listContents != null) {
|
if (listContents != null) {
|
||||||
return listContents.isNotEmpty
|
return listContents.asHtmlString;
|
||||||
? listContents.map((emailContent) => emailContent.content).toList().join('</br>')
|
|
||||||
: '';
|
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import 'package:core/core.dart';
|
|||||||
import 'package:file_picker/file_picker.dart';
|
import 'package:file_picker/file_picker.dart';
|
||||||
import 'package:filesize/filesize.dart';
|
import 'package:filesize/filesize.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
@@ -294,7 +293,6 @@ class ComposerView extends GetWidget<ComposerController> {
|
|||||||
controller.subjectEmail.isNotEmpty == true
|
controller.subjectEmail.isNotEmpty == true
|
||||||
? controller.subjectEmail.value ?? ''
|
? controller.subjectEmail.value ?? ''
|
||||||
: AppLocalizations.of(context).new_message.capitalizeFirstEach,
|
: AppLocalizations.of(context).new_message.capitalizeFirstEach,
|
||||||
overflow: kIsWeb ? null : TextOverflow.ellipsis,
|
|
||||||
maxLines: 1,
|
maxLines: 1,
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold, color: Colors.black),
|
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold, color: Colors.black),
|
||||||
@@ -470,9 +468,9 @@ class ComposerView extends GetWidget<ComposerController> {
|
|||||||
controller: controller.htmlControllerBrowser,
|
controller: controller.htmlControllerBrowser,
|
||||||
htmlEditorOptions: HtmlEditorBrowser.HtmlEditorOptions(
|
htmlEditorOptions: HtmlEditorBrowser.HtmlEditorOptions(
|
||||||
hint: '${AppLocalizations.of(context).hint_compose_email}',
|
hint: '${AppLocalizations.of(context).hint_compose_email}',
|
||||||
initialText: initContent,
|
|
||||||
darkMode: false,
|
darkMode: false,
|
||||||
),
|
),
|
||||||
|
blockQuotedContent: initContent,
|
||||||
htmlToolbarOptions: HtmlEditorBrowser.HtmlToolbarOptions(
|
htmlToolbarOptions: HtmlEditorBrowser.HtmlToolbarOptions(
|
||||||
toolbarPosition: HtmlEditorBrowser.ToolbarPosition.custom
|
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 '';
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -55,6 +55,7 @@ export 'extensions/list_email_extension.dart';
|
|||||||
export 'extensions/media_type_extension.dart';
|
export 'extensions/media_type_extension.dart';
|
||||||
export 'extensions/list_attachment_extension.dart';
|
export 'extensions/list_attachment_extension.dart';
|
||||||
export 'extensions/list_presentation_email_extension.dart';
|
export 'extensions/list_presentation_email_extension.dart';
|
||||||
|
export 'extensions/list_email_content_extension.dart';
|
||||||
|
|
||||||
// Download
|
// Download
|
||||||
export 'download/download_task_id.dart';
|
export 'download/download_task_id.dart';
|
||||||
|
|||||||
+2
-2
@@ -114,7 +114,7 @@ dependencies:
|
|||||||
ref: master
|
ref: master
|
||||||
|
|
||||||
# file_picker
|
# file_picker
|
||||||
file_picker: 4.2.0
|
file_picker: 4.5.1
|
||||||
|
|
||||||
# hive
|
# hive
|
||||||
hive: 2.0.4
|
hive: 2.0.4
|
||||||
@@ -128,7 +128,7 @@ dependencies:
|
|||||||
html_editor_enhanced:
|
html_editor_enhanced:
|
||||||
git:
|
git:
|
||||||
url: https://github.com/dab246/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
|
||||||
fk_user_agent: 2.1.0
|
fk_user_agent: 2.1.0
|
||||||
|
|||||||
Reference in New Issue
Block a user