Документ и обработчики
Конструктор new ViText(target, options?), target — селектор/HTMLElement. Необязательные options:
| Поле | Тип / default | Контракт |
|---|---|---|
| content | string или DocumentNode, пустой документ | Начальный HTML/JSON/Markdown |
| contentType | html / markdown / json, html для строки | Формат content; JSON определяется объектом |
| css | string, пустой | Начальные стили, применяются асинхронно |
| label | string, Document | Доступное имя содержимого |
| onChange | (ChangeEvent) => void | После изменения канонического документа |
| markdownPaste | boolean, включён при разрешённом Markdown | Конвертация вставляемого обычного текста с Markdown-разметкой |
| language | ru / en, ru | Язык UI |
| markdownDraft | string, пустой | Начальный исходник Markdown; проверяется при открытии режима |
Возможности и UI
| Поле | Тип / default | Контракт |
|---|---|---|
| preset | simple / base / pro, pro | Верхняя граница UI-функций |
| toolbar | readonly ToolbarItem, по набору | Подмножество с автоматическими группами |
| toolbarLayout | readonly ToolbarLayoutItem, нет | Точный порядок/разделители/spacer/меню |
| features | Partial | html, markdown, css, fullscreen, tables, images, plugins; boolean |
| plugins | readonly ViTextPlugin, пусто | Установка API 1 при разрешённых плагинах |
| uploadImage | (File, { signal }) => Promise | Callback приложения; отсутствие оставляет URL-вставку |
| onToolbarOverflow | (ToolbarItem) => void, нет | Сообщает перемещение инструментов в меню |
| sourceModuleURL | string, рядом со сборкой | Доверенный путь HTML/CSS UI |
| codecsModuleURL | string, рядом со сборкой | Доверенный путь движков Markdown/CSS |
Недоступная feature или неверное расположение вызывает TypeError. В toolbarLayout нет повторных инструментов, nested-меню и более одного spacer. CSS требует HTML. При ошибке установки плагина уже установленные вклады и экземпляр освобождаются.
Готовность
HTML/JSON применяются синхронно. Начальные Markdown/CSS — после await whenReady(). Открытие HTML-полей — после await whenSourceReady(). Наборы, методы.