mirror of
https://github.com/openvinotoolkit/stable-diffusion-webui.git
synced 2024-12-14 22:53:25 +03:00
38 lines
1.3 KiB
JavaScript
38 lines
1.3 KiB
JavaScript
|
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);
|
||
|
|
||
|
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)
|
||
|
}
|
||
|
}
|
||
|
});
|