Rich Text Editor ожидает JS файл с данными, который содержит HTML строку для отображения. Пример данных приведен ниже:
const text =
`<p>Hello World</p>
<p><a href="https://docs.webix.com/desktop__richtext.html">Rich Text Editor</a></p>
<p>Sample text</p>`;
У Rich Text Editor есть следующие сервисы для работы с данными:
1. Upload
const upload = $$("editor").getService("upload");
upload.fileDialog(id); // открывает диалог для загрузки
2. Operations
$$("editor").getService("operations").copy(); // копирует выделенный текст
3. Backend
const back = $$("editor").getService("backend");
back.import(); // инициирует диалог для импорта файлов в форматах .docx, .md, .txt
Смотрите папку models исходного кода, чтобы познакомиться с сигнатурами методов.
Чтобы задать значение для Rich Text Editor, используйте метод setValue(). Метод принимает следующие параметры:
Если параметр type не задан, метод устанавливает контент в соответствии с текущим параметром datatype (по умолчанию HTML).
const text =
`<p>Hello World</p>
<p><a href="https://docs.webix.com/desktop__richtext.html">Rich Text Editor</a></p>
<p>Sample text</p>`;
$$("editor").setValue(text);
Related sample: Rich Text Editor: Setting HTML Value
Чтобы получить значение виджета, используйте метод getValue(). Он принимает один опциональный параметр:
Метод возвращает контент виджета в заданном формате. Если параметр type не задан, метод возвращает контент в соответствии с текущим параметром datatype (по умолчанию HTML).
const value = $$("editor").getValue();
// -> '<p>Sample text</p>'
Related sample: Rich Text Editor: Getting Value as Text and HTML
Для вставки значения в заданном формате в текущую позицию курсора используйте метод insertValue(). Параметры метода:
Если параметр type не задан, метод обрабатывает контент в соответствии с текущим параметром datatype (по умолчанию "html").
const md = "**Inserted** markdown content";
$$("editor").insertValue(md, "markdown");
Related sample: Insert Value via API
Парсер markdown в Rich Text Editor не поддерживает вложенные структуры (кроме полужирного текста внутри курсива).
Такие комбинации, как полужирный текст внутри ссылки, курсив внутри списка или многоуровневые списки, не будут корректно отображаться при вставке, добавлении через метод setValue() или вставке через метод insertValue() с форматом "markdown", а также при импорте файла .md.