Лучше всего было бы «воссоздать» поведение поля src (и, возможно, стиля). Я сделал что-то подобное. (но не так сложно)
Начните с исходного кода (из plugins / dialog / image.js) и создайте логику установки и фиксации, которая производит (и анализирует) разметку, которую вы ищете.
Затем во время определения диалога
- Удалить оригиналы
- Добавьте свои "пользовательские" поля
Поле стиля не определено, возможно, просто оставьте его в диалоговом окне, но заглушите его логику коммита.
Я добавил свое поле в диалог ...
var infoTab = dialogDefinition.getContents( 'info' );
// Move the ID field from "advanced" to "info" tab.
infoTab.add( idField_config);
var idField_config = {
type : 'text',
label : 'Name',
id : 'linkId',
setup : function( type, element ) {
//if ( type == IMAGE )
this.setValue( element.getAttribute( 'id' ) );
},
commit : function( type, element ) {
//if ( type == IMAGE ) {
if ( this.getValue() || this.isChanged() )
element.setAttribute( 'id', this.getValue() );
//}
}
};
Проблемы, с которыми я столкнулся.
- Новые поля добавляются в конец
Диалог.
- кусочки оригинального кода
(введите == ИЗОБРАЖЕНИЕ) недопустимо (люблю знать, почему, но чувствовал себя комфортно, было безопасно комментировать для меня)
Вы можете столкнуться с проблемами с правилами разметки, которые отменяют вашу тяжелую работу, но совет "output html" sample "должен помочь вам решить эту проблему.