Я могу довольно легко создать DocumentFragment, который содержит элемент изображения:
clickPasteImage(editorComponent: CKEditorComponent) {
const editor = editorComponent.editorInstance;
const docFragment = editor.model.change(writer => {
const fragment = writer.createDocumentFragment();
const e1 = writer.createElement('image', { src: TboxService.imageURL(this.image.id) });
writer.append(e1, fragment);
return fragment;
});
this.paste.emit({ content: docFragment, quote: false, obj: this.image });
}
Получатель отправленного события может вставить это содержимое, и оно появится правильно. Что интересно, пользовательский интерфейс дает пользователю возможность добавить подпись.
Как добавить эту подпись из обратного вызова writer выше? (Объект this.image может содержать текст, который можно использовать для установки его для пользователя.)
Что еще более важно, где документация, определяющая, какие атрибуты доступны для тех или иных типов элементов и как эти элементы ведут себя? Я только что узнал об атрибуте src из примера.
Чтобы было понятнее, в какой момент вызов createElement('image' преобразуется в следующий HTML-код?
<figure>
<img src="....">
<figcaption>....</figcaption>
</figure>