* 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 0586400bda
commit 61b09363af
4 changed files with 43 additions and 2 deletions

View File

@ -351,6 +351,23 @@ var et2_htmlarea = /** @class */ (function (_super) {
}
return this.options.readonly ? this.value : this.htmlNode.val();
};
/**
* Apply default font and -size
*/
et2_htmlarea.prototype.applyDefaultFont = function () {
var edit_area = this.editor.editorContainer.querySelector('iframe').contentDocument;
var 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(function (elem) {
elem.style.fontFamily = font_family;
});
var font_size = (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(function (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

@ -522,6 +522,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

@ -2536,8 +2536,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

@ -5631,6 +5631,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;
},