TF-736 Add transformer to set style for pre code tag when preview content email
This commit is contained in:
@@ -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(),
|
||||
];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user