Spaces:
Paused
Paused
var observerAccordionOpen = new MutationObserver(function(mutations) { | |
mutations.forEach(function(mutationRecord) { | |
var elem = mutationRecord.target; | |
var open = elem.classList.contains('open'); | |
var accordion = elem.parentNode; | |
accordion.classList.toggle('input-accordion-open', open); | |
var checkbox = gradioApp().querySelector('#' + accordion.id + "-checkbox input"); | |
checkbox.checked = open; | |
updateInput(checkbox); | |
var extra = gradioApp().querySelector('#' + accordion.id + "-extra"); | |
if (extra) { | |
extra.style.display = open ? "" : "none"; | |
} | |
}); | |
}); | |
function inputAccordionChecked(id, checked) { | |
var label = gradioApp().querySelector('#' + id + " .label-wrap"); | |
if (label.classList.contains('open') != checked) { | |
label.click(); | |
} | |
} | |
onUiLoaded(function() { | |
for (var accordion of gradioApp().querySelectorAll('.input-accordion')) { | |
var labelWrap = accordion.querySelector('.label-wrap'); | |
observerAccordionOpen.observe(labelWrap, {attributes: true, attributeFilter: ['class']}); | |
var extra = gradioApp().querySelector('#' + accordion.id + "-extra"); | |
if (extra) { | |
labelWrap.insertBefore(extra, labelWrap.lastElementChild); | |
} | |
} | |
}); | |