Spaces:
No application file
No application file
// attaches listeners to the txt2img and img2img galleries to update displayed generation param text when the image changes | |
let txt2img_gallery, img2img_gallery, modal = undefined; | |
onAfterUiUpdate(function() { | |
if (!txt2img_gallery) { | |
txt2img_gallery = attachGalleryListeners("txt2img"); | |
} | |
if (!img2img_gallery) { | |
img2img_gallery = attachGalleryListeners("img2img"); | |
} | |
if (!modal) { | |
modal = gradioApp().getElementById('lightboxModal'); | |
modalObserver.observe(modal, {attributes: true, attributeFilter: ['style']}); | |
} | |
}); | |
let modalObserver = new MutationObserver(function(mutations) { | |
mutations.forEach(function(mutationRecord) { | |
let selectedTab = gradioApp().querySelector('#tabs div button.selected')?.innerText; | |
if (mutationRecord.target.style.display === 'none' && (selectedTab === 'txt2img' || selectedTab === 'img2img')) { | |
gradioApp().getElementById(selectedTab + "_generation_info_button")?.click(); | |
} | |
}); | |
}); | |
function attachGalleryListeners(tab_name) { | |
var gallery = gradioApp().querySelector('#' + tab_name + '_gallery'); | |
gallery?.addEventListener('click', () => gradioApp().getElementById(tab_name + "_generation_info_button").click()); | |
gallery?.addEventListener('keydown', (e) => { | |
if (e.keyCode == 37 || e.keyCode == 39) { // left or right arrow | |
gradioApp().getElementById(tab_name + "_generation_info_button").click(); | |
} | |
}); | |
return gallery; | |
} | |