diff --git a/resources/js/wysiwyg/fixes.js b/resources/js/wysiwyg/fixes.js index 7f87d4378..61cace660 100644 --- a/resources/js/wysiwyg/fixes.js +++ b/resources/js/wysiwyg/fixes.js @@ -29,12 +29,13 @@ export function handleEmbedAlignmentChanges(editor) { editor.on('FormatApply', event => { const isAlignment = event.format.startsWith('align'); - if (!event.node || !event.node.matches('.mce-preview-object')) { + const isElement = event.node instanceof editor.dom.doc.defaultView.HTMLElement; + if (!isElement || !isAlignment || !event.node.matches('.mce-preview-object')) { return; } const realTarget = event.node.querySelector('iframe, video'); - if (isAlignment && realTarget) { + if (realTarget) { const className = (editor.formatter.get(event.format)[0]?.classes || [])[0]; const toAdd = !realTarget.classList.contains(className); @@ -94,10 +95,12 @@ export function handleTableCellRangeEvents(editor) { // are selected. Here we watch for clear formatting events, so some manual // cleanup can be performed. const attrsToRemove = ['class', 'style', 'width', 'height']; - editor.on('FormatRemove', () => { - for (const cell of selectedCells) { - for (const attr of attrsToRemove) { - cell.removeAttribute(attr); + editor.on('ExecCommand', event => { + if (event.command === 'RemoveFormat') { + for (const cell of selectedCells) { + for (const attr of attrsToRemove) { + cell.removeAttribute(attr); + } } } });