insert-token
Описание
Срабатывает после того, как пользователь выбирает элемент из списка подсказок, и RichText вставляет его как токен
Событие insert-token срабатывает после того, как пользователь выбирает элемент из выпадающего списка триггера (упоминания, теги или любой пользовательский триггер, настроенный через свойство triggers).
Использование
"insert-token": ({
data: {
id?: string | number,
label?: string,
url?: string,
// ...любые пользовательские поля из источника данных триггера
},
trigger: string,
showTrigger?: boolean,
action?: (item) => void
}) => boolean | void;
Параметры
Калбэк события insert-token получает объект со следующими полями:
data— выбранный элемент подсказки. Содержит поляid,labelиurlэлемента, а также любые пользовательские поля, добавленные в источникdataтриггераtrigger— символ триггера, открывший выпадающий список (например,"@"или"#")showTrigger— еслиfalse, RichText вставляет толькоlabel; в противном случае виджет также отображает символ триггера (по умолчанию)action— пользовательское действие, определённое для соответствующего триггера. Если задано, этот параметр имеет приоритет над вставкой токена: RichText удаляет введённый текст (символ триггера и запрос) и вызываетaction(data)вместо вставки токена. ПараметрshowTriggerв этом случае не имеет эффекта
Информация
Для обработки внутренних событий используйте методы Event Bus.
Пример
// инициализация RichText
const editor = new richtext.Richtext("#root", {
// свойства конфигурации
});
// подписка на событие "insert-token"
editor.api.on("insert-token", ({ data, trigger, showTrigger }) => {
console.log(`Inserted ${trigger}${data.label} (id: ${data.id})`);
});
История изменений: Событие добавлено в v2.1
Связанный пример: RichText. Упоминания, теги и асинхронный поиск
Связанные статьи: Упоминания и теги