* Mail: explicitly apply default font and -size before sending mail

This commit is contained in:
ralf 2022-05-23 19:36:04 +02:00
parent 1afcc3ebce
commit 26c64c0838
3 changed files with 26 additions and 2 deletions

View File

@ -529,6 +529,27 @@ export class et2_htmlarea extends et2_editableWidget implements et2_IResizeable
return this.options.readonly ? this.value : this.htmlNode.val();
}
/**
* Apply default font and -size
*/
applyDefaultFont()
{
const edit_area = this.editor.editorContainer.querySelector('iframe').contentDocument;
const font_family = egw.preference('rte_font', 'common') || 'arial, helvetica, sans-serif';
edit_area.querySelectorAll('h1:not([style*="font-family"]),h2:not([style*="font-family"]),h3:not([style*="font-family"]),h4:not([style*="font-family"]),h5:not([style*="font-family"]),h6:not([style*="font-family"]),' +
'div:not([style*="font-family"]),li:not([style*="font-family"]),p:not([style*="font-family"]),blockquote:not([style*="font-family"]),' +
'td:not([style*="font-family"]),th:not([style*="font-family"]').forEach((elem) =>
{
elem.style.fontFamily = font_family;
});
const font_size = (<string>egw.preference('rte_font_size', 'common') || '10')+(egw.preference('rte_font_unit', 'common') || 'pt');
edit_area.querySelectorAll('div:not([style*="font-size"]),li:not([style*="font-size"]),p:not([style*="font-size"]),blockquote:not([style*="font-size"]),' +
'td:not([style*="font-size"]),th:not([style*="font-size"])').forEach((elem) =>
{
elem.style.fontSize = font_size;
});
}
/**
* Resize htmlNode tag according to window size
* @param {type} _height excess height which comes from window resize

View File

@ -2526,8 +2526,7 @@ class mail_compose
switch ($_formData['mimeType'])
{
case 'html':
$body = "<style>\n".preg_replace('#/\*.*?\*/\s*#sm', '', Etemplate\Widget\HtmlArea::contentCss()).
"</style>\n".$_formData['body'];
$body = $_formData['body'];
if (!empty($attachment_links))
{

View File

@ -5636,6 +5636,10 @@ app.classes.mail = AppJS.extend(
{
this.compose_submitAction(false);
}
// apply default font and -size before submitting to server for sending
this.et2?.getWidgetById('mail_htmltext')?.applyDefaultFont();
return false;
},