#javascript #ckeditor #ckeditor5
#javascript #ckeditor #ckeditor5
Вопрос:
Я хочу настроить существующий медиа-виджет для CK Editor5. Я хочу добавить дескриптор выбора в медиа-виджет, чтобы упростить выбор. С виджетами это обычно можно сделать, передав параметр hasSelectionHandler: true
функции toWidget() . Когда я пытаюсь сделать это с медиа-виджетом, дескриптор не добавляется. При дальнейшей проверке я обнаружил, что обратный вызов для создания UIElement в функции addSelectionHandler() никогда не вызывается. У кого-нибудь есть решение здесь?
Ответ №1:
Извините за очень краткий ответ, но у меня мало времени, и я надеюсь, что это все равно поможет.
Переход hasSelectionHandler
к toWidget()
заставляет его выполнять эту функцию: https://github.com/ckeditor/ckeditor5-widget/blob/f68917cea2a58c5c1830788821ba8923f4c7c82d/src/utils.js#L362-L381.
Функция встраивания мультимедиа не использует эту опцию, поэтому дескриптор не добавляется в виджет.
Вы можете изменить это по крайней мере двумя способами:
- Вы можете добавить поздний обратный вызов (с низким приоритетом)
DowncastDispatcher#insert
и расширить элемент встраивания мультимедиа, созданный стандартной функцией. - Или вы можете просто разветвить функцию встраивания мультимедиа и использовать
hasSelectionHandler
опцию: D