Я хочу создать плагин, который позволит пользователям вставлять виджет со значком SVG и текстом. Я создал виджет, который позволяет пользователю добавлять текст, но когда я пытаюсь добавить SVG, он удаляет все мои атрибуты. Есть ли способ разрешить встроенные SVG внутри редактора. Я не могу найти документацию по поддержке SVG.
schema.register('actionIcon', {
allowWhere: '$text',
isInline: true
allowAttributes: ['name', 'class']
})
schema.register('actionCircle', {
allowWhere: '$text',
isInline: true,
allowAttributes: ['name', 'class', 'cx', 'cy', 'r', 'stroke', 'fill']
})
// ...
conversion.elementToElement({
model: 'actionIcon',
view: {
name: 'svg',
classes: 'action-icon'
}
})
conversion.elementToElement({
model: 'actionCircle',
view: {
name: 'circle',
classes: 'action-circle',
['cx']: '50',
['cy']: '50',
['r']: '40',
['stroke']: 'green',
['fill']: 'yellow'
}
})
Result:
<p>
<svg class="action-icon">
<circle class="action-circle"> </circle>
</svg>
<span class="placeholder ck-widget" contenteditable="false">
Item
</span>
</p>
Я ожидал создать схему и конвертер для SVG и вставить его в виджет, но редактор CK удаляет все атрибуты, которые я подробно описал.