From: Dan Brown Date: Sat, 30 Jan 2021 17:04:30 +0000 (+0000) Subject: Added codemirror refresh on details blog toggle X-Git-Tag: v21.04~1^2~18 X-Git-Url: http://source.bookstackapp.com/bookstack/commitdiff_plain/5404f22bf967a6d597bffbbc7a683e64f9525a03?ds=inline;hp=--cc Added codemirror refresh on details blog toggle For #781 --- 5404f22bf967a6d597bffbbc7a683e64f9525a03 diff --git a/resources/js/components/page-display.js b/resources/js/components/page-display.js index 2be1c1c48..cc55fe35e 100644 --- a/resources/js/components/page-display.js +++ b/resources/js/components/page-display.js @@ -12,6 +12,7 @@ class PageDisplay { Code.highlight(); this.setupPointer(); this.setupNavHighlighting(); + this.setupDetailsCodeBlockRefresh(); // Check the hash on load if (window.location.hash) { @@ -196,6 +197,16 @@ class PageDisplay { }); } } + + setupDetailsCodeBlockRefresh() { + const onToggle = event => { + const codeMirrors = [...event.target.querySelectorAll('.CodeMirror')]; + codeMirrors.forEach(cm => cm.CodeMirror && cm.CodeMirror.refresh()); + }; + + const details = [...this.elem.querySelectorAll('details')]; + details.forEach(detail => detail.addEventListener('toggle', onToggle)); + } } export default PageDisplay;