export default function() { // map our commands to the classList methods const triggers = Array.from(document.querySelectorAll('[data-toggle="collapse"]')); window.addEventListener('click', (ev) => { const elm = ev.target; if (triggers.includes(elm)) { const selector = elm.getAttribute('data-target'); collapse(selector, 'toggle'); } }, false); const fnmap = { 'toggle': 'toggle', 'show': 'add', 'hide': 'remove' }; const collapse = (selector, cmd) => { const targets = Array.from(document.querySelectorAll(selector)); targets.forEach(target => { target.classList[fnmap[cmd]]('show'); }); } }