Commit 09f46ddf authored by Яков's avatar Яков
Browse files

Редактор отдаёт документ tiptap наружу



Новый необязательный проп onChangeDoc. Отдельным пропом, а не вторым аргументом
onChange: редактор используется в 21 месте, и все ждут строку с HTML.

Документ отдаётся и при onCreate, а не только по первой правке — иначе автор
открыл урок, ничего не тронул, сохранил, и body_doc остался пуст.
Co-Authored-By: default avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
parent a7f39ca2
...@@ -191,7 +191,11 @@ const QEditor = ({ ...@@ -191,7 +191,11 @@ const QEditor = ({
contentClass = '', contentClass = '',
// Словарь подписей от хоста: { [ключ кнопки]: { title, hint } }. // Словарь подписей от хоста: { [ключ кнопки]: { title, hint } }.
// Нужен для перевода — своей локализации у пакета нет. Пусто — встроенные русские. // Нужен для перевода — своей локализации у пакета нет. Пусто — встроенные русские.
labels = {} labels = {},
// Документ tiptap наружу. Отдельным пропом, а НЕ вторым аргументом onChange:
// редактор используется в 21 месте, и все ждут строку с HTML.
// Не передали — ничего не меняется.
onChangeDoc = null
}) => { }) => {
global.uploadUrl = uploadOptions.url global.uploadUrl = uploadOptions.url
...@@ -862,7 +866,22 @@ const QEditor = ({ ...@@ -862,7 +866,22 @@ const QEditor = ({
}) })
], ],
content: value, content: value,
onUpdate: ({editor}) => onChange(editor.getHTML()), onUpdate: ({editor}) => {
onChange(editor.getHTML())
// Документ уже существует внутри редактора — он и есть источник
// правды для нового формата. Отдаём его, если хост попросил.
if (onChangeDoc) {
onChangeDoc(editor.getJSON())
}
},
onCreate: ({editor}) => {
// Без этого документ появляется только после первой правки:
// автор открыл урок, ничего не тронул, сохранил — и body_doc пуст.
if (onChangeDoc) {
onChangeDoc(editor.getJSON())
}
},
onFocus: ({editor}) => { onFocus: ({editor}) => {
const wrap = editor.options.element.closest('.atma-editor-wrap') const wrap = editor.options.element.closest('.atma-editor-wrap')
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment