mirror of
https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
synced 2025-01-04 05:45:05 +08:00
9199b6b7eb
rework hires fix UI to use accordion prevent bogus progress output in console when calculating hires fix dimensions
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)
|
|
}
|
|
}
|
|
});
|