From 60409e04a35475bed07fc17a0a842d7b160a5731 Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Wed, 10 Mar 2021 19:58:51 +0100 Subject: [PATCH] Made rubric list collapsible --- .../themes/iph/js/collapsible_elements.js | 41 +++++++++++++++---- .../themes/iph/templates/compilation.ftl | 7 +--- .../themes/iph/templates/elenphAritcle.ftl | 7 +--- .../webapp/themes/iph/templates/text-lib.ftl | 16 ++++---- 4 files changed, 43 insertions(+), 28 deletions(-) diff --git a/webapp/src/main/webapp/themes/iph/js/collapsible_elements.js b/webapp/src/main/webapp/themes/iph/js/collapsible_elements.js index 13b308a7..98a3aa25 100644 --- a/webapp/src/main/webapp/themes/iph/js/collapsible_elements.js +++ b/webapp/src/main/webapp/themes/iph/js/collapsible_elements.js @@ -5,17 +5,40 @@ function addCollapsibleOnClick() { var coll = document.getElementsByClassName("collapsible"); var i; for (i = 0; i < coll.length; i++) { - coll[i].addEventListener("click", function() { - this.classList.toggle("active"); - var content = this.nextElementSibling; - if (content.style.display === "block") { - content.style.display = "none"; - } else { - content.style.display = "block"; - } - }); + var collapsibleLink = coll[i].querySelector('.collapsibleLink'); + if (collapsibleLink === null){ + collapseNextElementOnClick(coll[i]); + } else { + collapseNextOuterElementOnClick(collapsibleLink); + } + } } + +function collapseNextOuterElementOnClick(element){ + element.addEventListener("click", function() { + this.classList.toggle("active"); + var content = this.parentElement.nextElementSibling; + if (content.style.display === "block") { + content.style.display = "none"; + } else { + content.style.display = "block"; + } + }); +} + +function collapseNextElementOnClick(element){ + element.addEventListener("click", function() { + this.classList.toggle("active"); + var content = this.nextElementSibling; + if (content.style.display === "block") { + content.style.display = "none"; + } else { + content.style.display = "block"; + } + }); +} + function applyExpandSettings() { if (localStorage.getItem('switchExpand') === true || localStorage.getItem('switchExpand') === 'true') { var expandSwitchCB = document.getElementById("expandCB"); diff --git a/webapp/src/main/webapp/themes/iph/templates/compilation.ftl b/webapp/src/main/webapp/themes/iph/templates/compilation.ftl index c5ccdef0..4606b758 100644 --- a/webapp/src/main/webapp/themes/iph/templates/compilation.ftl +++ b/webapp/src/main/webapp/themes/iph/templates/compilation.ftl @@ -122,8 +122,6 @@ ${scripts.add('