CKEditor5自定义模态插件

时间:2018-07-20 08:00:30

标签: javascript ckeditor ckeditor5

我遵循了最初的plugin tutorial,并使“图像插入”正常工作,但是我想显示具有两个输入字段的自定义模式,而不是提示您设置更多属性。 我如何最好地实现这一点?

我知道如何在普通的JS / CSS中实现普通模式,但对于将模式显示在按钮单击时显示在何处,我有些困惑。

class Test extends Plugin {
init() {
    editor = this.editor
    editor.ui.componentFactory.add('SampleView', (locale) => {

        const view = new ButtonView(locale)

        view.set({
            label: 'test',
            icon: imageIcon,
            tooltip: true
        })
        view.on('execute', () => {
     //here I would like to open the modal instead of the prompt
        })

    })
  }
}

1 个答案:

答案 0 :(得分:3)

例如,您可以尝试使用SweetAlert2,它是零依赖性纯JavaScript替代默认弹出窗口。

import swal from 'sweetalert2';
...
view.on( 'execute', () => {
    swal( {
        input: 'text',
        inputPlaceholder: 'Your image URL'
    } )
    .then ( result => {
        editor.model.change( writer => {
            const imageElement = writer.createElement( 'image', {
                src: result.value
            } );

            editor.model.insertContent( imageElement, editor.model.document.selection );
        } );
    } )
} );