Как загрузить отформатированный HTML-код в ckeditor 5, а не разметку тегами - PullRequest
0 голосов
/ 29 апреля 2019

Итак, я хотел бы загрузить уже отформатированный html в ckeditor 5. Поскольку в конечном итоге данные будут поступать из этого элемента управления, я не слишком беспокоюсь о плохом формате, но для проверки я только что использовал выделенный раздел и перерыв. При загрузке в редактор я ожидал что-то вроде этого:

Это является тестом

Другой тест

Но на самом деле я получаю:

This <b> is a test <br/>Another test

Это, конечно, идентично источнику и не размечается.

Я перепробовал несколько вещей, включая вызов setData и следующий код, который был изменен из примеров ckeditor:

const viewFragment = theEditor.data.processor.toView('@Model.MailTemplate.MailTemplateData');
const modelFragment = theEditor.data.toModel(viewFragment);

theEditor.model.insertContent(modelFragment, theEditor.model.document.selection);

Я также попытался просто добавить разметку в div. Все они отображают необработанный HTML, а не форматированный текст, который я хотел бы.

Я что-то упускаю из виду? Заранее спасибо.

РЕДАКТИРОВАТЬ: Полный (соответствующий) код:

            <div class="document-editor">
                <div class="document-editor__toolbar"></div>
                <div class="document-editor__editable-container">
                    <div class="document-editor__editable">
                        @* @Model.MailTemplate.MailTemplateData *@
                    </div>
                </div>
            </div>

// In script block...
        DecoupledEditor
            .create(document.querySelector('.document-editor__editable'))
            .then(editor => {
                const toolbarContainer = document.querySelector('.document-editor__toolbar');
                toolbarContainer.appendChild(editor.ui.view.toolbar.element);

                theEditor = editor;
                //window.editor = editor;

                const viewFragment = theEditor.data.processor.toView('@Model.MailTemplate.MailTemplateData');
                const modelFragment = theEditor.data.toModel(viewFragment);

                theEditor.model.insertContent(modelFragment, theEditor.model.document.selection);

                //theEditor.setData('@Model.MailTemplate.MailTemplateData');
            })
            .catch(err => {
                console.error(err);
            });

Обратите внимание, что текст в document-editor__editable закомментирован, но я тоже это попробовал.

...