TF-736 Add transformer to set style for pre code tag when preview content email

This commit is contained in:
dab246
2022-07-22 18:47:36 +07:00
committed by Dat H. Pham
parent 4a31dc32fd
commit 3538212266
2 changed files with 39 additions and 0 deletions
@@ -0,0 +1,37 @@
import 'package:core/data/network/dio_client.dart';
import 'package:core/presentation/utils/html_transformer/base/dom_transformer.dart';
import 'package:html/dom.dart';
class BlockCodeTransformer extends DomTransformer {
const BlockCodeTransformer();
@override
Future<void> process(
Document document,
String message,
{
Map<String, String>? mapUrlDownloadCID,
DioClient? dioClient
}
) async {
final codeElements = document.getElementsByTagName('pre');
await Future.wait(codeElements.map((element) async {
element.attributes['style'] = '''
display: block;
padding: 10px;
margin: 0 0 10px;
font-size: 13px;
line-height: 1.5;
color: #333;
word-break: break-all;
word-wrap: break-word;
background-color: #f5f5f5;
border: 1px solid #ccc;
border-radius: 4px;
overflow: auto;
''';
}));
}
}
@@ -1,6 +1,7 @@
import 'package:core/presentation/utils/html_transformer/base/dom_transformer.dart';
import 'package:core/presentation/utils/html_transformer/base/text_transformer.dart';
import 'package:core/presentation/utils/html_transformer/dom/blockcode_transformers.dart';
import 'package:core/presentation/utils/html_transformer/dom/blockquoted_transformers.dart';
import 'package:core/presentation/utils/html_transformer/dom/image_transformers.dart';
import 'package:core/presentation/utils/html_transformer/dom/script_transformers.dart';
@@ -52,6 +53,7 @@ class TransformConfiguration {
RemoveScriptTransformer(),
SignatureTransformer(),
BlockQuotedTransformer(),
BlockCodeTransformer(),
ImageTransformer(),
];