From e2ba9c410df4eceab579847ea90e42013ea71c8a Mon Sep 17 00:00:00 2001 From: Tim van Dijen <tvdijen@gmail.com> Date: Sun, 20 Mar 2022 17:41:40 +0100 Subject: [PATCH] Only load expander-related JS on pages that include the expander --- src/js/bundle.js | 18 ------------------ src/js/expander.js | 16 ++++++++++++++++ templates/includes/expander.twig | 3 +++ webpack.config.js | 1 + 4 files changed, 20 insertions(+), 18 deletions(-) create mode 100644 src/js/expander.js diff --git a/src/js/bundle.js b/src/js/bundle.js index e58ca0ba5..2a50cad51 100644 --- a/src/js/bundle.js +++ b/src/js/bundle.js @@ -61,24 +61,6 @@ ready(function () { }; - // Expander boxes - var expandable = document.querySelectorAll('.expandable > .expander'); - expandable.forEach(function (currentValue, index, arr) { - currentValue.onclick = function (e) { - e.preventDefault(); - - var parent = e.currentTarget.parentNode; - if (parent.className.match(/(?:^|\s)expanded(?!\S)/)) { - parent.className = parent.className.replace(/(?:^|\s)expanded(?!\S)/g , ''); - } else { - parent.className += " expanded"; - } - - e.currentTarget.blur(); - } - }); - - // Syntax highlight hljs.registerLanguage('xml', xml); hljs.registerLanguage('php', php); diff --git a/src/js/expander.js b/src/js/expander.js new file mode 100644 index 000000000..a141b0a48 --- /dev/null +++ b/src/js/expander.js @@ -0,0 +1,16 @@ +// Expander boxes +var expandable = document.querySelectorAll('.expandable > .expander'); +expandable.forEach(function (currentValue, index, arr) { + currentValue.onclick = function (e) { + e.preventDefault(); + + var parent = e.currentTarget.parentNode; + if (parent.className.match(/(?:^|\s)expanded(?!\S)/)) { + parent.className = parent.className.replace(/(?:^|\s)expanded(?!\S)/g , ''); + } else { + parent.className += " expanded"; + } + + e.currentTarget.blur(); + } +}); diff --git a/templates/includes/expander.twig b/templates/includes/expander.twig index 37deceb6b..55db45ae6 100644 --- a/templates/includes/expander.twig +++ b/templates/includes/expander.twig @@ -11,3 +11,6 @@ </div> </div> +{% block postload %} + <script src="{{ asset('js/expander.js') }}"></script> +{% endblock %} diff --git a/webpack.config.js b/webpack.config.js index 12a13b08a..01b924209 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -18,6 +18,7 @@ module.exports = environment => { return { entry: { bundle: './src/js/bundle', + expander: './src/js/expander', logout: './src/js/logout/main', stylesheet: './src/js/style' }, -- GitLab