extensions.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. function extensions_apply(_disabled_list, _update_list, disable_all){
  2. var disable = []
  3. var update = []
  4. gradioApp().querySelectorAll('#extensions input[type="checkbox"]').forEach(function(x){
  5. if(x.name.startsWith("enable_") && ! x.checked)
  6. disable.push(x.name.substr(7))
  7. if(x.name.startsWith("update_") && x.checked)
  8. update.push(x.name.substr(7))
  9. })
  10. restart_reload()
  11. return [JSON.stringify(disable), JSON.stringify(update), disable_all]
  12. }
  13. function extensions_check(){
  14. var disable = []
  15. gradioApp().querySelectorAll('#extensions input[type="checkbox"]').forEach(function(x){
  16. if(x.name.startsWith("enable_") && ! x.checked)
  17. disable.push(x.name.substr(7))
  18. })
  19. gradioApp().querySelectorAll('#extensions .extension_status').forEach(function(x){
  20. x.innerHTML = "Loading..."
  21. })
  22. var id = randomId()
  23. requestProgress(id, gradioApp().getElementById('extensions_installed_top'), null, function(){
  24. })
  25. return [id, JSON.stringify(disable)]
  26. }
  27. function install_extension_from_index(button, url){
  28. button.disabled = "disabled"
  29. button.value = "Installing..."
  30. var textarea = gradioApp().querySelector('#extension_to_install textarea')
  31. textarea.value = url
  32. updateInput(textarea)
  33. gradioApp().querySelector('#install_extension_button').click()
  34. }
  35. function config_state_confirm_restore(_, config_state_name, config_restore_type) {
  36. if (config_state_name == "Current") {
  37. return [false, config_state_name, config_restore_type];
  38. }
  39. let restored = "";
  40. if (config_restore_type == "extensions") {
  41. restored = "all saved extension versions";
  42. } else if (config_restore_type == "webui") {
  43. restored = "the webui version";
  44. } else {
  45. restored = "the webui version and all saved extension versions";
  46. }
  47. let confirmed = confirm("Are you sure you want to restore from this state?\nThis will reset " + restored + ".");
  48. if (confirmed) {
  49. restart_reload();
  50. gradioApp().querySelectorAll('#extensions .extension_status').forEach(function(x){
  51. x.innerHTML = "Loading..."
  52. })
  53. }
  54. return [confirmed, config_state_name, config_restore_type];
  55. }