Методы ViText

Чтение, изменение документа, UI, история и расширения.

1.0.0-beta.6 · Локальная поставка · desktop

Чтение и готовность

МетодРезультатЗначение
getHTML / getCSS / getTextstringПоследние применённые содержимое/стили/текст
getJSONDocumentNodeНезависимый структурный снимок
getConfigurationResolvedConfigurationНезависимая копия текущих настроек
whenReadyPromiseНачальные Markdown/CSS; отклонение при ошибке
whenSourceReadyPromiseЛенивая загрузка и монтирование HTML/CSS-полей
getModevisual / html / markdownФактический активный режим
isFullscreenbooleanПолноэкранный вид
getSelectionSelectionInfofrom/to/text/revision текущего выделения
getPluginIdsstringКопия подключённых id

Имена без аргументов вызываются как editor.getHTML() и аналогично.

Изменение документа

МетодРезультатИстория и ошибки
setContent(value, { format?, allowLossy?, css? }?)PromiseПроверка HTML/JSON/Markdown; атомарное применение с css, одна история. HTML/JSON без CSS применяются до возврата Promise
setCSS(css)PromiseПроверка всей таблицы, одна история, сохраняет выделение
setSelection(from, to?)voidПозиции схемы, to по умолчанию from; выделение не меняет документ
replaceRange({ from, to, revision }, value, { format?, allowLossy? }?)PromiseHTML/Markdown в диапазон одной историей; старая revision → StaleDocumentError
replaceText(edits, revision)booleanАтомарные обычные замены, sync, одна история; ошибка диапазонов RangeError, старая revision StaleDocumentError
transformText(callback)booleanВыделение/весь текст; callback(text, startsBlock) → string, одна история, marks/CSS сохраняются
execute(command)booleanФорматирование/undo/redo/табличные команды, false при неприменимости
insertTable(rows?, cols?, withHeaderRow?)booleanПо умолчанию 3×3/true, целые размеры 1–20, иначе RangeError
insertImage(attributes)booleanImageAttributes, одна история, проверка src/размеров
uploadImage(file, { signal?, alt? }?)PromiseCallback + вставка в захваченный диапазон; AbortError/StaleDocumentError

replaceText принимает массив {from,to,text}; без пересечений, каждый диапазон внутри одного текстового блока, без inline-атомов/переносов в замене. Текст <b> не импортируется как HTML. TransformText/replaceText в UI работают только visual; в исходнике false. Изменение CSS также увеличивает revision. Позиции ProseMirror не равны индексам getText.

Интерфейс и события

МетодРезультатКонтракт
setMode(mode)voidМожет остаться в текущем режиме при ошибке; disabled-mode вызывает ошибку, не обходит проверку
setFullscreen(enabled)voidВнутри окна браузера, без Fullscreen API; недоступная функция вызывает ошибку
focus()voidВозвращает фокус и выделение в документ
on(name, listener)unsubscribeПодписка на событие
off(name, listener)voidУдаление конкретного обработчика
usePlugin(plugin)disposerУстановка API 1; проверка id/version/флага
removePlugin(id)voidОчистка расширения
executePluginCommand(id, name)booleanКоманда; неизвестная вызывает ошибку
destroy()voidИдемпотентная очистка; AggregateError при ошибках cleanup после освобождения ресурсов

Переподключение редактора

getSourceDraft(): SourceDraft | null возвращает активный HTML+CSS или Markdown-черновик, включая ошибочный исходник; в визуальном режиме — null. restoreSourceDraft(draft): Promise<void> восстанавливает его на свежем визуальном экземпляре после начальных CSS и ленивой загрузки исходника. Недоступный режим отклоняется. Действуют обычная проверка, автосохранение и подтверждение упрощения разметки.

Перед destroy() сохраните getJSON(), getCSS() и getSourceDraft(). Создайте новый экземпляр с нужным language, сохранёнными JSON/CSS и новыми экземплярами плагинов, затем дождитесь restoreSourceDraft(draft), если черновик не null. Смена языка на сайте использует этот сценарий. Сам текст документа не переводится. История undo, открытые диалоги и позиция курсора исходника не переносятся.

Команды execute

bold, italic, underline, strike, bulletList, orderedList, blockquote, codeBlock, paragraph, h1, h2, h3, undo, redo, insertTable, addRowAfter, addColumnAfter, deleteRow, deleteColumn, toggleHeaderRow, deleteTable. Импорт принимает H1–H6. Link/image/html/markdown/fullscreen — инструменты UI, не все они значения execute.

editor.execute('bold');
const range = editor.getSelection();
await editor.replaceRange(range, '<strong>Новый текст</strong>');
editor.execute('undo');

События, ошибки, документ.

Найти в документации

Ничего не найдено. Попробуйте другие слова.

Все разделы документации