tengo un botón fuera de ckeditor, cuando hago clic quiero insertar un elemento de intervalo en la posición de intercalación, esto es lo que tengo hasta ahora:
var el = document.querySelector('#editor'); ClassicEditor.create(el, { licenseKey: '' }).then( editor => { appConfigs.editor = editor; //storing the editor for later usage }).catch( error => { //... });cuando se hace clic en el botón hago:
function clickHandler(){ var editor = appConfigs.editor; editor.model.change( writer => { var html = '<span class="special-class-name" data-name="something">special word or button</span>'; var viewFragment = editor.data.processor.toView(html); var modelFragment = editor.data.toModel(viewFragment); var insertPosition = editor.model.document.selection.getFirstPosition(); editor.model.insertContent(modelFragment, insertPosition); }); }el código tiene los siguientes problemas:
1) el intervalo insertado se elimina de todos sus atributos (clase, nombre de datos) que quiero conservar.
2) el símbolo de intercalación de edición no regresa automáticamente al editor cuando se hace clic en el botón.
3) cuando hago clic en el editor para restaurar el símbolo de intercalación y comenzar a escribir, noté que edita el texto dentro del intervalo insertado, quiero que el intervalo insertado no se toque y cualquier otra escritura se realiza después.
Estaré muy agradecido si alguien pudiera ayudarme con esos problemas.