From 5f672304ede842c789852c8f15198d18c8bbe9e5 Mon Sep 17 00:00:00 2001 From: Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> Date: Fri, 31 Mar 2023 15:41:57 +0000 Subject: [PATCH] allow HTML comments and add HTML marker to content, fixes #2495 Closes #2495 Merge request studip/studip!1685 --- resources/assets/javascripts/chunks/wysiwyg.js | 2 ++ resources/assets/javascripts/lib/wysiwyg.js | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/resources/assets/javascripts/chunks/wysiwyg.js b/resources/assets/javascripts/chunks/wysiwyg.js index be47e39fa76..5ab81d60bf5 100644 --- a/resources/assets/javascripts/chunks/wysiwyg.js +++ b/resources/assets/javascripts/chunks/wysiwyg.js @@ -14,6 +14,7 @@ import FontColor from '@ckeditor/ckeditor5-font/src/fontcolor.js'; import GeneralHtmlSupport from '@ckeditor/ckeditor5-html-support/src/generalhtmlsupport'; import HeadingPlugin from '@ckeditor/ckeditor5-heading/src/heading'; import HorizontalLine from '@ckeditor/ckeditor5-horizontal-line/src/horizontalline'; +import HtmlComment from '@ckeditor/ckeditor5-html-support/src/htmlcomment'; import ImagePlugin from '@ckeditor/ckeditor5-image/src/image'; import ImageUploadPlugin from '@ckeditor/ckeditor5-image/src/imageupload'; import ImageCaptionPlugin from '@ckeditor/ckeditor5-image/src/imagecaption'; @@ -73,6 +74,7 @@ ClassicEditor.builtinPlugins = [ GeneralHtmlSupport, HeadingPlugin, HorizontalLine, + HtmlComment, ImageCaptionPlugin, ImagePlugin, ImageResizePlugin, diff --git a/resources/assets/javascripts/lib/wysiwyg.js b/resources/assets/javascripts/lib/wysiwyg.js index eacd5098c70..c54581dbaf4 100644 --- a/resources/assets/javascripts/lib/wysiwyg.js +++ b/resources/assets/javascripts/lib/wysiwyg.js @@ -173,7 +173,8 @@ function replaceTextarea(textarea) { // make sure HTML marker is always set, in // case contents are cut-off by the backend $textarea.closest('form').submit(() => { - ckeditor.sourceElement.value = wysiwyg.markAsHtml(ckeditor.getData()); + ckeditor.setData(wysiwyg.markAsHtml(ckeditor.getData())); + ckeditor.updateSourceElement(); }); // focus the editor if requested @@ -183,6 +184,7 @@ function replaceTextarea(textarea) { ckeditor.ui.focusTracker.on('change:isFocused', (evt, name, isFocused) => { if (!isFocused) { + ckeditor.setData(wysiwyg.markAsHtml(ckeditor.getData())); ckeditor.updateSourceElement(); } }); -- GitLab