Элегантный способ изменить схему представления в CKEditor5 - PullRequest
0 голосов
/ 23 декабря 2018

Я ищу способ изменить схему / теги представления, используемые CKE5, пытаясь не переопределить все.Поэтому в основном вопрос заключается в том, как лучше всего изменить, например, элемент <strong> на <b> в редакторе.

Мое текущее решение состоит в том, чтобы изменить файл *editing.js и файл базового плагина, чтобы включить измененный плагин редактирования вместо исходного.Это хорошо работает, однако мне интересно, есть ли способ уменьшить количество строк кода, необходимых для выполнения этой задачи.

Так что мое решение в настоящее время выглядит так:

newbold.js:

static get requires() {
    return [ NewBoldEditing, BoldUI ];
}

и newboldediting.js:

editor.conversion.attributeToElement({
    model: 'bold',
    view: 'b'
});

Есть ли лучший способ сделать это (который предпочтительно не предполагает переопределения такого количества классов)?

1 Ответ

0 голосов
/ 08 января 2019

Вы можете предоставить только очень простой плагин, который перезаписывает преобразование атрибута bold по умолчанию.

class BoldToB extends Plugin {
    init() {
        this.editor.conversion.attributeToElement( {
            model: 'bold',
            view: 'b',
            converterPriority: 'high'
        } );
    }
}

Вот вам проверка для проверки: https://jsfiddle.net/u3zyw67v/

Обратите внимание, что ву скрипки нет доступа к классу Plugin, поэтому мне пришлось добавить constructor().Вам не нужно этого делать, если вы расширяете класс Plugin.

...