Spaces:
Runtime error
Runtime error
| /*global gettext*/ | |
| ; | |
| { | |
| window.addEventListener('load', function() { | |
| // Add anchor tag for Show/Hide link | |
| const fieldsets = document.querySelectorAll('fieldset.collapse'); | |
| for (const [i, elem] of fieldsets.entries()) { | |
| // Don't hide if fields in this fieldset have errors | |
| if (elem.querySelectorAll('div.errors, ul.errorlist').length === 0) { | |
| elem.classList.add('collapsed'); | |
| const h2 = elem.querySelector('h2'); | |
| const link = document.createElement('a'); | |
| link.id = 'fieldsetcollapser' + i; | |
| link.className = 'collapse-toggle'; | |
| link.href = '#'; | |
| link.textContent = gettext('Show'); | |
| h2.appendChild(document.createTextNode(' (')); | |
| h2.appendChild(link); | |
| h2.appendChild(document.createTextNode(')')); | |
| } | |
| } | |
| // Add toggle to hide/show anchor tag | |
| const toggleFunc = function(ev) { | |
| if (ev.target.matches('.collapse-toggle')) { | |
| ev.preventDefault(); | |
| ev.stopPropagation(); | |
| const fieldset = ev.target.closest('fieldset'); | |
| if (fieldset.classList.contains('collapsed')) { | |
| // Show | |
| ev.target.textContent = gettext('Hide'); | |
| fieldset.classList.remove('collapsed'); | |
| } else { | |
| // Hide | |
| ev.target.textContent = gettext('Show'); | |
| fieldset.classList.add('collapsed'); | |
| } | |
| } | |
| }; | |
| document.querySelectorAll('fieldset.module').forEach(function(el) { | |
| el.addEventListener('click', toggleFunc); | |
| }); | |
| }); | |
| } | |