2022-10-31 22:36:45 +08:00
|
|
|
|
2023-05-01 03:12:24 +08:00
|
|
|
function extensions_apply(_disabled_list, _update_list, disable_all){
|
2023-01-28 20:57:56 +08:00
|
|
|
var disable = []
|
|
|
|
var update = []
|
|
|
|
|
2022-10-31 22:36:45 +08:00
|
|
|
gradioApp().querySelectorAll('#extensions input[type="checkbox"]').forEach(function(x){
|
|
|
|
if(x.name.startsWith("enable_") && ! x.checked)
|
2023-05-01 03:15:59 +08:00
|
|
|
disable.push(x.name.substring(7))
|
2022-10-31 22:36:45 +08:00
|
|
|
|
|
|
|
if(x.name.startsWith("update_") && x.checked)
|
2023-05-01 03:15:59 +08:00
|
|
|
update.push(x.name.substring(7))
|
2022-10-31 22:36:45 +08:00
|
|
|
})
|
|
|
|
|
|
|
|
restart_reload()
|
|
|
|
|
2023-03-28 00:44:49 +08:00
|
|
|
return [JSON.stringify(disable), JSON.stringify(update), disable_all]
|
2022-10-31 22:36:45 +08:00
|
|
|
}
|
|
|
|
|
2023-05-01 03:12:24 +08:00
|
|
|
function extensions_check(){
|
2023-01-28 20:57:56 +08:00
|
|
|
var disable = []
|
|
|
|
|
|
|
|
gradioApp().querySelectorAll('#extensions input[type="checkbox"]').forEach(function(x){
|
|
|
|
if(x.name.startsWith("enable_") && ! x.checked)
|
2023-05-01 03:15:59 +08:00
|
|
|
disable.push(x.name.substring(7))
|
2023-01-28 20:57:56 +08:00
|
|
|
})
|
|
|
|
|
2022-10-31 22:36:45 +08:00
|
|
|
gradioApp().querySelectorAll('#extensions .extension_status').forEach(function(x){
|
|
|
|
x.innerHTML = "Loading..."
|
|
|
|
})
|
|
|
|
|
2023-01-28 20:57:56 +08:00
|
|
|
|
|
|
|
var id = randomId()
|
|
|
|
requestProgress(id, gradioApp().getElementById('extensions_installed_top'), null, function(){
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
return [id, JSON.stringify(disable)]
|
2022-11-01 14:59:00 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
function install_extension_from_index(button, url){
|
|
|
|
button.disabled = "disabled"
|
|
|
|
button.value = "Installing..."
|
|
|
|
|
2023-05-01 03:08:52 +08:00
|
|
|
var textarea = gradioApp().querySelector('#extension_to_install textarea')
|
2022-11-01 14:59:00 +08:00
|
|
|
textarea.value = url
|
2023-01-17 19:15:47 +08:00
|
|
|
updateInput(textarea)
|
2022-11-01 14:59:00 +08:00
|
|
|
|
|
|
|
gradioApp().querySelector('#install_extension_button').click()
|
|
|
|
}
|
2023-03-30 05:46:03 +08:00
|
|
|
|
|
|
|
function config_state_confirm_restore(_, config_state_name, config_restore_type) {
|
|
|
|
if (config_state_name == "Current") {
|
2023-03-30 07:32:54 +08:00
|
|
|
return [false, config_state_name, config_restore_type];
|
2023-03-30 05:46:03 +08:00
|
|
|
}
|
|
|
|
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";
|
|
|
|
}
|
2023-03-30 07:32:54 +08:00
|
|
|
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..."
|
|
|
|
})
|
|
|
|
}
|
2023-03-30 05:46:03 +08:00
|
|
|
return [confirmed, config_state_name, config_restore_type];
|
|
|
|
}
|