Skip to content

Commit a2e378e

Browse files
authored
ENGCOM-5607: Allow TinyMCE to save content with inline <style> tags #24114
2 parents 2881825 + 2e282ff commit a2e378e

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

lib/web/mage/adminhtml/wysiwyg/tiny_mce/plugins/magentovariable/editor_plugin.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,8 @@ define([
171171
* @returns {String}
172172
*/
173173
decodeVariables: function (content) {
174-
var doc = (new DOMParser()).parseFromString(content.replace(/&quot;/g, '&amp;quot;'), 'text/html');
174+
var doc = (new DOMParser()).parseFromString(content.replace(/&quot;/g, '&amp;quot;'), 'text/html'),
175+
returnval = '';
175176

176177
[].forEach.call(doc.querySelectorAll('span.magento-variable'), function (el) {
177178
var $el = jQuery(el);
@@ -195,7 +196,12 @@ define([
195196
}
196197
});
197198

198-
return doc.body ? doc.body.innerHTML.replace(/&amp;quot;/g, '&quot;') : content;
199+
returnval += doc.head.innerHTML ?
200+
doc.head.innerHTML.replace(/&amp;quot;/g, '&quot;') : '';
201+
returnval += doc.body.innerHTML ?
202+
doc.body.innerHTML.replace(/&amp;quot;/g, '&quot;') : '';
203+
204+
return returnval ? returnval : content;
199205
},
200206

201207
/**

lib/web/mage/adminhtml/wysiwyg/tiny_mce/plugins/magentowidget/editor_plugin.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ define([
189189
* @return {String}
190190
*/
191191
removeDuplicateAncestorWidgetSpanElement: function (content) {
192-
var parser, doc;
192+
var parser, doc, returnval = '';
193193

194194
if (!window.DOMParser) {
195195
return content;
@@ -212,7 +212,12 @@ define([
212212
widgetEl.parentNode.removeChild(widgetEl);
213213
});
214214

215-
return doc.body ? doc.body.innerHTML.replace(/&amp;quot;/g, '&quot;') : content;
215+
returnval += doc.head.innerHTML ?
216+
doc.head.innerHTML.replace(/&amp;quot;/g, '&quot;') : '';
217+
returnval += doc.body.innerHTML ?
218+
doc.body.innerHTML.replace(/&amp;quot;/g, '&quot;') : '';
219+
220+
return returnval ? returnval : content;
216221
},
217222

218223
/**

lib/web/mage/adminhtml/wysiwyg/tiny_mce/tinymce4Adapter.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ define([
198198
'convert_urls': false,
199199
'content_css': this.config.tinymce4['content_css'],
200200
'relative_urls': true,
201+
'valid_children': '+body[style]',
201202
menubar: false,
202203
plugins: this.config.tinymce4.plugins,
203204
toolbar: this.config.tinymce4.toolbar,

0 commit comments

Comments
 (0)