2017-02-07 6 views
1

Спасибо заранее. Я пытаюсь интегрировать CKEditor 4 с моим проектом extjs 4.2. Может ли кто-нибудь помочь мне с интеграцией, пожалуйста? После поиска в Интернете я нашел This example, но он не работал как «this.editor» не был определен. Также я попытался использовать «CKEDITOR.instances [this.id]», но по-прежнему не помогал. Это вызвало еще одну ошибку: «Невозможно прочитать свойство« setData »неопределенного». Это было бы действительно заметно, если бы кто-то мог мне помочь.Интеграция CKEditor 4 в EXT JS 4

+0

Просьба представить код, который вы уже пробовали, см. Http://stackoverflow.com/help/how-to-ask, как задать хорошие вопросы. –

ответ

1

С новым годом. Нашел решение.

Ext.define('Ext.ux.form.field.CKEditor', { 
extend: 'Ext.form.field.TextArea', 
alias: 'widget.ckeditor', 

constructor: function() { 
    this.callParent(arguments); 
    this.addEvents("instanceReady"); 
    this.addEvents("blur"); 
}, 

initComponent: function() { 
    this.callParent(arguments); 
    this.on("afterrender", function() { 
     Ext.apply(this.CKConfig, { 
      height: this.getHeight(), 
      width: this.getWidth() 
     }); 

     this.editor = CKEDITOR.replace(this.inputEl.id, this.CKConfig); 
     this.editor.name = this.name; 

     this.editor.on("instanceReady", function() { 
      this.fireEvent("instanceReady", this, this.editor); 
     }, this); 

     this.editor.on("blur", function(){ 
      this.fireEvent("blur", this, this.editor); 
     }, this) 

    }, this); 
}, 

onRender: function (ct, position) { 
    if (!this.el) { 
     this.defaultAutoCreate = { 
      tag: 'textarea', 
      autocomplete: 'off' 
     }; 
    } 
    this.callParent(arguments) 
}, 

setValue: function (value) {  
    this.callParent(arguments); 
    if (this.editor) { 
     this.editor.setData(value); 
    } 
}, 

getValue: function() { 
    if (this.editor) { 
     console.log(this.editor.getData()); 
     return this.editor.getData(); 
    } 
    else { 
     return '' 
    } 
} 

});

Это интегрирует ckeditor с EXT jS.