From 5404f22bf967a6d597bffbbc7a683e64f9525a03 Mon Sep 17 00:00:00 2001 From: Dan Brown Date: Sat, 30 Jan 2021 17:04:30 +0000 Subject: [PATCH] Added codemirror refresh on details blog toggle For #781 --- resources/js/components/page-display.js | 11 +++++++++++ 1 file changed, 11 insertions(+) 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;