Path: blob/master/javascript/extensions.js
3055 views
1function extensions_apply(_disabled_list, _update_list, disable_all) {2var disable = [];3var update = [];4const extensions_input = gradioApp().querySelectorAll('#extensions input[type="checkbox"]');5if (extensions_input.length == 0) {6throw Error("Extensions page not yet loaded.");7}8extensions_input.forEach(function(x) {9if (x.name.startsWith("enable_") && !x.checked) {10disable.push(x.name.substring(7));11}1213if (x.name.startsWith("update_") && x.checked) {14update.push(x.name.substring(7));15}16});1718restart_reload();1920return [JSON.stringify(disable), JSON.stringify(update), disable_all];21}2223function extensions_check() {24var disable = [];2526gradioApp().querySelectorAll('#extensions input[type="checkbox"]').forEach(function(x) {27if (x.name.startsWith("enable_") && !x.checked) {28disable.push(x.name.substring(7));29}30});3132gradioApp().querySelectorAll('#extensions .extension_status').forEach(function(x) {33x.innerHTML = "Loading...";34});353637var id = randomId();38requestProgress(id, gradioApp().getElementById('extensions_installed_html'), null, function() {3940});4142return [id, JSON.stringify(disable)];43}4445function install_extension_from_index(button, url) {46button.disabled = "disabled";47button.value = "Installing...";4849var textarea = gradioApp().querySelector('#extension_to_install textarea');50textarea.value = url;51updateInput(textarea);5253gradioApp().querySelector('#install_extension_button').click();54}5556function config_state_confirm_restore(_, config_state_name, config_restore_type) {57if (config_state_name == "Current") {58return [false, config_state_name, config_restore_type];59}60let restored = "";61if (config_restore_type == "extensions") {62restored = "all saved extension versions";63} else if (config_restore_type == "webui") {64restored = "the webui version";65} else {66restored = "the webui version and all saved extension versions";67}68let confirmed = confirm("Are you sure you want to restore from this state?\nThis will reset " + restored + ".");69if (confirmed) {70restart_reload();71gradioApp().querySelectorAll('#extensions .extension_status').forEach(function(x) {72x.innerHTML = "Loading...";73});74}75return [confirmed, config_state_name, config_restore_type];76}7778function toggle_all_extensions(event) {79gradioApp().querySelectorAll('#extensions .extension_toggle').forEach(function(checkbox_el) {80checkbox_el.checked = event.target.checked;81});82}8384function toggle_extension() {85let all_extensions_toggled = true;86for (const checkbox_el of gradioApp().querySelectorAll('#extensions .extension_toggle')) {87if (!checkbox_el.checked) {88all_extensions_toggled = false;89break;90}91}9293gradioApp().querySelector('#extensions .all_extensions_toggle').checked = all_extensions_toggled;94}959697