extensions.js 2.3 KB

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