diff --git a/src/mermaidediting.js b/src/mermaidediting.js index 6e4a28963..dc6acb5e4 100644 --- a/src/mermaidediting.js +++ b/src/mermaidediting.js @@ -173,6 +173,17 @@ export default class MermaidEditing extends Plugin { domElement.addEventListener( 'input', debouncedListener ); + /* Workaround for internal #1544 */ + domElement.addEventListener( 'focus', () => { + const model = editor.model; + const selectedElement = model.document.selection.getSelectedElement(); + + // Move the selection onto the mermaid widget if it's currently not selected. + if ( selectedElement !== data.item ) { + model.change( writer => writer.setSelection( data.item, 'on' ) ); + } + }, true ); + return domElement; } @@ -217,7 +228,6 @@ export default class MermaidEditing extends Plugin { } else if ( child.name === 'div' && child.hasClass( 'ck-mermaid__preview' ) ) { // @todo: we could optimize this and not refresh mermaid if widget is in source mode. const domPreviewWrapper = domConverter.viewToDom( child, window.document ); - // console.log( child, domPreviewWrapper ); if ( domPreviewWrapper ) { domPreviewWrapper.innerHTML = newSource;