| Index: static/js/main.js | 
| =================================================================== | 
| --- a/static/js/main.js | 
| +++ b/static/js/main.js | 
| @@ -18,10 +18,52 @@ | 
| var toggleNavbarCollapseEls = document.getElementsByClassName("toggle-navbar-collapse"); | 
| for (var i = 0; i < toggleNavbarCollapseEls.length; i++) | 
| { | 
| toggleNavbarCollapseEls[i] | 
| .addEventListener("click", toggleNavbarCollapse, false); | 
| } | 
| + // Accordion menu | 
| + | 
| + function setupAccordionMenu(accordionEl) | 
| + { | 
| + var accordionButtons = accordionEl.getElementsByClassName('accordion-toggle-button'); | 
| + for ( var i = 0; i < accordionButtons.length; i++ ) { | 
| + accordionButtons[i].addEventListener("click", toggleAccordionSection, false); | 
| + if ( i !== 0 ) { | 
| + accordionButtons[i].setAttribute("aria-expanded", "false"); | 
| + accordionButtons[i].setAttribute("aria-disabled", "false"); | 
| + document | 
| + .getElementById( accordionButtons[i].getAttribute("aria-controls") ) | 
| + .setAttribute("hidden", "true"); | 
| 
 
ire
2017/09/18 10:08:11
See https://issues.adblockplus.org/ticket/5703 reg
 
juliandoucette
2017/09/18 12:53:31
Acknowledged.
 
 | 
| + } | 
| + } | 
| + } | 
| + | 
| + function toggleAccordionSection() | 
| + { | 
| + // Hide currently expanded section | 
| + var accordion = this.parentElement.parentElement; | 
| + var expandedButton = accordion.querySelector("button[aria-expanded='true']"); | 
| + expandedButton.setAttribute("aria-expanded", "false"); | 
| + expandedButton.setAttribute("aria-disabled", "false"); | 
| + document | 
| + .getElementById( expandedButton.getAttribute("aria-controls") ) | 
| + .setAttribute("hidden", "true"); | 
| + | 
| + // Expand new section | 
| + this.setAttribute("aria-expanded", "true"); | 
| + this.setAttribute("aria-disabled", "true"); | 
| + document | 
| + .getElementById( this.getAttribute("aria-controls") ) | 
| + .removeAttribute("hidden"); | 
| + } | 
| + | 
| + var accordionMenus = document.getElementsByClassName('accordion'); | 
| + for (var i = 0; i < accordionMenus.length; i++) | 
| + { | 
| + setupAccordionMenu( accordionMenus[i] ); | 
| + } | 
| 
 
ire
2017/09/18 10:08:11
This will be refactored in https://issues.adblockp
 
juliandoucette
2017/09/18 12:53:31
Acknowledged.
 
 | 
| + | 
| }, false); | 
| }()); |