]> BookStack Code Mirror - bookstack/commitdiff
WYSWIYG code blocks: copied head styles into shadow root
authorDan Brown <redacted>
Mon, 8 May 2023 11:21:53 +0000 (12:21 +0100)
committerDan Brown <redacted>
Mon, 8 May 2023 11:21:53 +0000 (12:21 +0100)
Currently only link-based styles are made available in the shadow root
code editor environment, this adds normal styles to apply any user-added
via custom head content.

Fixes #4228

resources/js/wysiwyg/plugin-codeeditor.js

index 25f774baabd18064642caae7b66abd24850c39fe..2fe2ac26a6bc6ecba4c786ff7e6ee2198c41152f 100644 (file)
@@ -53,8 +53,8 @@ function defineCodeBlockCustomElement(editor) {
             super();
             this.attachShadow({mode: 'open'});
 
-            const stylesToCopy = document.querySelectorAll('link[rel="stylesheet"]:not([media="print"])');
-            const copiedStyles = Array.from(stylesToCopy).map(styleEl => styleEl.cloneNode(false));
+            const stylesToCopy = document.head.querySelectorAll('link[rel="stylesheet"]:not([media="print"]),style');
+            const copiedStyles = Array.from(stylesToCopy).map(styleEl => styleEl.cloneNode(true));
 
             const cmContainer = document.createElement('div');
             cmContainer.style.pointerEvents = 'none';