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;