ExtJS: как отделить или продвигать исходный код HtmlEditor?

Как отсоединить или продвигать окно режима исходного кода HtmlEditor в другой текстовой области? Я имею в виду, как исходный код при вводе в HtmlEditor может отображаться в другом элементе textarea?

Я создаю форму с помощью HtmlEditor и форму с Textarea, и я предполагаю, что необходимо прикрепить листнер к 'textareafield' и получить данные из текстовой области HtmlEditor в исходном режиме, но не знаю, как это сделать.

{
    xtype: 'htmleditor',
    listeners: {
       }
    },

 ...

  {
    xtype: 'form',
    layout: {
      type: 'fit'
    },
    title: 'Source Code',
    flex: 1,
    items: [
    {
      xtype: 'textareafield',
      id:'textareaEl'
    }
    ]
  }

person Antonix    schedule 22.03.2012    source источник
comment
Что именно ты пытаешься сделать? Что вы подразумеваете под «отсоединить» или «продвинуть»?   -  person sha    schedule 22.03.2012
comment
Я имею в виду отображение исходного кода в другом текстовом поле при вводе текста в текстовом поле HtmlEditor.   -  person Antonix    schedule 22.03.2012


Ответы (2)


Я не думаю, что в стандартном компоненте есть что-то подобное. Я думаю, вы можете сами создать текстовую область и периодически обновлять ее данными из htmleditor.

person sha    schedule 22.03.2012
comment
В этом проблема в том, что мне нужен пример, как передавать данные при условии, что я использую xtype для создания объектов. - person Antonix; 23.03.2012
comment
Я никогда этого не делал, и у меня нет примера - мой совет был просто из опыта работы с ExtJ. Я думаю, что это выполнимо - проверьте такие события, как «обновление» и методы getValue(), setValue() для этих двух классов. - person sha; 23.03.2012

Я сделал это)

  {
    xtype: 'htmleditor',
    id:'seditor',
    listeners: {
      render: function(){
    this.textareaEl.on('keydown', function() {
      this.fireEvent('sync', this, this.textareaEl.getValue());
    }, this, { buffer: 2 });
      },
      sync: function(sender, html){
      }
    },
    style: 'background-color: white;',
    hideLabel: true,
    labelPad: 0
    }
person Antonix    schedule 23.03.2012
comment
И чем это отличается от моего ответа? Спасибо, что не приняли :) - person sha; 28.03.2012
comment
Для меня textareaEl был доступен только в initialize (extJS 4.2.2), но еще не в render. - person Alex; 03.03.2015