mirror of
				https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
				synced 2025-11-04 12:03:36 +00:00 
			
		
		
		
	
		
			
	
	
		
			34 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			34 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								// 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;
							 | 
						||
| 
								 | 
							
								onUiUpdate(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.bg-white')?.innerText
							 | 
						||
| 
								 | 
							
										if (mutationRecord.target.style.display === 'none' && selectedTab === 'txt2img' || selectedTab === 'img2img')
							 | 
						||
| 
								 | 
							
											gradioApp().getElementById(selectedTab+"_generation_info_button").click()
							 | 
						||
| 
								 | 
							
									});
							 | 
						||
| 
								 | 
							
								});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								function attachGalleryListeners(tab_name) {
							 | 
						||
| 
								 | 
							
									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;
							 | 
						||
| 
								 | 
							
								}
							 |