TF-2667 Fix width size inline image in email view after send email
This commit is contained in:
@@ -63,7 +63,8 @@ class DownloadClient {
|
||||
'bytesData': bytesData,
|
||||
'mimeType': 'image/$fileExtension',
|
||||
'cid': cid,
|
||||
'fileName': fileName
|
||||
'fileName': fileName,
|
||||
'maxWidth': maxWidth
|
||||
});
|
||||
|
||||
return base64Uri;
|
||||
@@ -77,7 +78,8 @@ class DownloadClient {
|
||||
'bytesData': bytesDataCompressed,
|
||||
'mimeType': 'image/$fileExtension',
|
||||
'cid': cid,
|
||||
'fileName': fileName
|
||||
'fileName': fileName,
|
||||
'maxWidth': maxWidth
|
||||
});
|
||||
|
||||
return base64Uri;
|
||||
@@ -86,7 +88,8 @@ class DownloadClient {
|
||||
'bytesData': bytesData,
|
||||
'mimeType': 'image/$fileExtension',
|
||||
'cid': cid,
|
||||
'fileName': fileName
|
||||
'fileName': fileName,
|
||||
'maxWidth': maxWidth
|
||||
});
|
||||
|
||||
return base64Uri;
|
||||
@@ -103,11 +106,14 @@ class DownloadClient {
|
||||
var mimeType = entryParam['mimeType'];
|
||||
final cid = entryParam['cid'];
|
||||
var fileName = entryParam['fileName'];
|
||||
var maxWidth = entryParam['maxWidth'] != null
|
||||
? '${entryParam['maxWidth']}px'
|
||||
: '100%';
|
||||
final base64Data = base64Encode(bytesData);
|
||||
if (fileName.contains('.')) {
|
||||
fileName = fileName.split('.').first;
|
||||
}
|
||||
final base64Uri = '<img src="${HtmlUtils.convertBase64ToImageResourceData(base64Data: base64Data, mimeType: mimeType)}" alt="$fileName" id="cid:$cid" style="max-width: 100%;" />';
|
||||
final base64Uri = '<img src="${HtmlUtils.convertBase64ToImageResourceData(base64Data: base64Data, mimeType: mimeType)}" alt="$fileName" id="cid:$cid" style="max-width: $maxWidth;" />';
|
||||
return base64Uri;
|
||||
}
|
||||
}
|
||||
@@ -1587,7 +1587,7 @@ class ComposerController extends BaseController with DragDropFileMixin {
|
||||
if (responsiveUtils.isMobile(context)) {
|
||||
maxWithEditor = maxWith - 40;
|
||||
} else {
|
||||
maxWithEditor = maxWith - 120;
|
||||
maxWithEditor = maxWith - 70;
|
||||
}
|
||||
|
||||
consumeState(_localImagePickerInteractor.execute());
|
||||
@@ -2000,8 +2000,15 @@ class ComposerController extends BaseController with DragDropFileMixin {
|
||||
|
||||
void onLocalFileDropZoneListener({
|
||||
required BuildContext context,
|
||||
required DropDoneDetails details
|
||||
required DropDoneDetails details,
|
||||
required double maxWidth
|
||||
}) async {
|
||||
if (responsiveUtils.isMobile(context)) {
|
||||
maxWithEditor = maxWidth - 40;
|
||||
} else {
|
||||
maxWithEditor = maxWidth - 70;
|
||||
}
|
||||
|
||||
final listFileInfo = await onDragDone(context: context, details: details);
|
||||
|
||||
if (listFileInfo.isEmpty && context.mounted) {
|
||||
|
||||
@@ -248,7 +248,8 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
onLocalFileDropZoneListener: (details) =>
|
||||
controller.onLocalFileDropZoneListener(
|
||||
context: context,
|
||||
details: details
|
||||
details: details,
|
||||
maxWidth: constraintsEditor.maxWidth,
|
||||
),
|
||||
)
|
||||
),
|
||||
@@ -503,7 +504,8 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
onLocalFileDropZoneListener: (details) =>
|
||||
controller.onLocalFileDropZoneListener(
|
||||
context: context,
|
||||
details: details
|
||||
details: details,
|
||||
maxWidth: constraintsEditor.maxWidth,
|
||||
),
|
||||
)
|
||||
),
|
||||
@@ -731,7 +733,8 @@ class ComposerView extends GetWidget<ComposerController> {
|
||||
onLocalFileDropZoneListener: (details) =>
|
||||
controller.onLocalFileDropZoneListener(
|
||||
context: context,
|
||||
details: details
|
||||
details: details,
|
||||
maxWidth: constraintsEditor.maxWidth,
|
||||
),
|
||||
)
|
||||
),
|
||||
|
||||
@@ -279,11 +279,11 @@ class RichTextWebController extends BaseRichTextController {
|
||||
menuOrderListController.hideMenu();
|
||||
}
|
||||
|
||||
void insertImageAsBase64({required PlatformFile platformFile}) {
|
||||
void insertImageAsBase64({required PlatformFile platformFile, int? maxWidth}) {
|
||||
if (platformFile.bytes != null) {
|
||||
final base64Data = base64Encode(platformFile.bytes!);
|
||||
editorController.insertHtml(
|
||||
'<img src="${HtmlUtils.convertBase64ToImageResourceData(base64Data: base64Data, mimeType: 'image/${platformFile.extension}')}" data-filename="${platformFile.name}" alt="Image in my signature" style="max-width: 100%;"/>'
|
||||
'<img src="${HtmlUtils.convertBase64ToImageResourceData(base64Data: base64Data, mimeType: 'image/${platformFile.extension}')}" data-filename="${platformFile.name}" alt="Image in my signature" style="max-width: ${maxWidth != null ? '${maxWidth}px' : '100%'};"/>'
|
||||
);
|
||||
} else {
|
||||
logError("RichTextWebController::insertImageAsBase64: bytes is null");
|
||||
|
||||
@@ -546,7 +546,7 @@ class IdentityCreatorController extends BaseController {
|
||||
}
|
||||
} else {
|
||||
if (PlatformInfo.isWeb) {
|
||||
richTextWebController.insertImageAsBase64(platformFile: file);
|
||||
richTextWebController.insertImageAsBase64(platformFile: file, maxWidth: maxWidth);
|
||||
} else if (PlatformInfo.isMobile) {
|
||||
richTextMobileTabletController.insertImageData(platformFile: file, maxWidth: maxWidth);
|
||||
if (file.path != null) {
|
||||
|
||||
Reference in New Issue
Block a user