如何将 Medium-Editor 集成到 Extjs 6?

How to integrate Medium-Editor to Extjs 6?

我想将 Medium Editor 集成到 ExtJs6,但我不知道该怎么做。我从 https://github.com/yabwe/medium-editor 下载编辑器。非常感谢您的合作。

  1. 添加依赖库url到index.html
  2. 创建自定义组件
  3. 在自定义组件上使用 afterrender 方法并在其中使用您的库 api
  4. 在自定义组件中保留库变量的实例以供进一步使用。

从上面的列表听起来并没有太复杂。

这是一个例子:

Ext.application({
    name: 'Fiddle',

    launch: function () {

        Ext.define('widget.mediumEditor', {
            extend: 'Ext.panel.Panel',
            alias: 'widget.mediumEditor',
            xtype: 'mediumEditor',
            padding: 20,
            html: "<div class='editorcontent'></div>",
            height: 400,
            listeners: {
                afterrender: function(component) {
                    var mediumEditor = new MediumEditor('.editorcontent', component.editorConfig);
                    component.editorInstance = mediumEditor;
                }
            }

        });

        Ext.create('Ext.panel.Panel',{
            renderTo: Ext.getBody(),
            layout: 'fit',
            title: 'Medium editor',
            items: [{
                xtype: 'mediumEditor',
                editorConfig: {
                    toolbar: {
                        /* These are the default options for the toolbar,
                           if nothing is passed this is what is used */
                        allowMultiParagraphSelection: true,
                        buttons: ['bold', 'italic', 'underline', 'anchor', 'h2', 'h3', 'quote'],
                        diffLeft: 0,
                        diffTop: -10,
                        firstButtonClass: 'medium-editor-button-first',
                        lastButtonClass: 'medium-editor-button-last',
                        relativeContainer: null,
                        standardizeSelectionStart: false,
                        static: false,
                        /* options which only apply when static is true */
                        align: 'center',
                        sticky: false,
                        updateOnEmptySelection: false
                    }
                }
            }]
        })
    }
});

工作 Fiddle: https://fiddle.sencha.com/#view/editor&fiddle/29v0