TF-3035 Restore identity from draft

This commit is contained in:
DatDang
2024-09-05 16:46:28 +07:00
committed by Dat H. Pham
parent fd78f327b7
commit 82a49c5923
21 changed files with 199 additions and 49 deletions
@@ -0,0 +1,26 @@
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 HideDraftSignatureTransformer extends DomTransformer {
const HideDraftSignatureTransformer();
@override
Future<void> process({
required Document document,
required DioClient dioClient,
Map<String, String>? mapUrlDownloadCID
}) async {
final signature = document.querySelector('div.tmail-signature');
if (signature == null) return;
final currentStyle = signature.attributes['style']?.trim();
if (currentStyle == null) {
signature.attributes['style'] = 'display: none;';
} else if (currentStyle.endsWith(';')) {
signature.attributes['style'] = '$currentStyle display: none;';
} else {
signature.attributes['style'] = '$currentStyle; display: none;';
}
}
}
@@ -6,6 +6,7 @@ import 'package:core/presentation/utils/html_transformer/dom/add_target_blank_in
import 'package:core/presentation/utils/html_transformer/dom/add_tooltip_link_transformers.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/hide_draft_signature_transformer.dart';
import 'package:core/presentation/utils/html_transformer/dom/image_transformers.dart';
import 'package:core/presentation/utils/html_transformer/dom/remove_collapsed_signature_button_transformers.dart';
import 'package:core/presentation/utils/html_transformer/dom/remove_lazy_loading_for_background_image_transformers.dart';
@@ -47,6 +48,9 @@ class TransformConfiguration {
]);
factory TransformConfiguration.forDraftsEmail() => TransformConfiguration.fromDomTransformers([const ImageTransformer()]);
factory TransformConfiguration.forEditDraftsEmail() => TransformConfiguration.fromDomTransformers([
...TransformConfiguration.forDraftsEmail().domTransformers,
const HideDraftSignatureTransformer()]);
factory TransformConfiguration.forPreviewEmailOnWeb() => TransformConfiguration.create(
customDomTransformers: [