mirror of
				https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
				synced 2025-10-31 01:54:44 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			93 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
 | |
| function extensions_apply(_disabled_list, _update_list, disable_all) {
 | |
|     var disable = [];
 | |
|     var update = [];
 | |
| 
 | |
|     gradioApp().querySelectorAll('#extensions input[type="checkbox"]').forEach(function(x) {
 | |
|         if (x.name.startsWith("enable_") && !x.checked) {
 | |
|             disable.push(x.name.substring(7));
 | |
|         }
 | |
| 
 | |
|         if (x.name.startsWith("update_") && x.checked) {
 | |
|             update.push(x.name.substring(7));
 | |
|         }
 | |
|     });
 | |
| 
 | |
|     restart_reload();
 | |
| 
 | |
|     return [JSON.stringify(disable), JSON.stringify(update), disable_all];
 | |
| }
 | |
| 
 | |
| function extensions_check() {
 | |
|     var disable = [];
 | |
| 
 | |
|     gradioApp().querySelectorAll('#extensions input[type="checkbox"]').forEach(function(x) {
 | |
|         if (x.name.startsWith("enable_") && !x.checked) {
 | |
|             disable.push(x.name.substring(7));
 | |
|         }
 | |
|     });
 | |
| 
 | |
|     gradioApp().querySelectorAll('#extensions .extension_status').forEach(function(x) {
 | |
|         x.innerHTML = "Loading...";
 | |
|     });
 | |
| 
 | |
| 
 | |
|     var id = randomId();
 | |
|     requestProgress(id, gradioApp().getElementById('extensions_installed_html'), null, function() {
 | |
| 
 | |
|     });
 | |
| 
 | |
|     return [id, JSON.stringify(disable)];
 | |
| }
 | |
| 
 | |
| function install_extension_from_index(button, url) {
 | |
|     button.disabled = "disabled";
 | |
|     button.value = "Installing...";
 | |
| 
 | |
|     var textarea = gradioApp().querySelector('#extension_to_install textarea');
 | |
|     textarea.value = url;
 | |
|     updateInput(textarea);
 | |
| 
 | |
|     gradioApp().querySelector('#install_extension_button').click();
 | |
| }
 | |
| 
 | |
| function config_state_confirm_restore(_, config_state_name, config_restore_type) {
 | |
|     if (config_state_name == "Current") {
 | |
|         return [false, config_state_name, config_restore_type];
 | |
|     }
 | |
|     let restored = "";
 | |
|     if (config_restore_type == "extensions") {
 | |
|         restored = "all saved extension versions";
 | |
|     } else if (config_restore_type == "webui") {
 | |
|         restored = "the webui version";
 | |
|     } else {
 | |
|         restored = "the webui version and all saved extension versions";
 | |
|     }
 | |
|     let confirmed = confirm("Are you sure you want to restore from this state?\nThis will reset " + restored + ".");
 | |
|     if (confirmed) {
 | |
|         restart_reload();
 | |
|         gradioApp().querySelectorAll('#extensions .extension_status').forEach(function(x) {
 | |
|             x.innerHTML = "Loading...";
 | |
|         });
 | |
|     }
 | |
|     return [confirmed, config_state_name, config_restore_type];
 | |
| }
 | |
| 
 | |
| function toggle_all_extensions(event) {
 | |
|     gradioApp().querySelectorAll('#extensions .extension_toggle').forEach(function(checkbox_el) {
 | |
|         checkbox_el.checked = event.target.checked;
 | |
|     });
 | |
| }
 | |
| 
 | |
| function toggle_extension() {
 | |
|     let all_extensions_toggled = true;
 | |
|     for (const checkbox_el of gradioApp().querySelectorAll('#extensions .extension_toggle')) {
 | |
|         if (!checkbox_el.checked) {
 | |
|             all_extensions_toggled = false;
 | |
|             break;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     gradioApp().querySelector('#extensions .all_extensions_toggle').checked = all_extensions_toggled;
 | |
| }
 | 
