diff --git a/.eslintrc.js b/.eslintrc.js index 9e7ab34d0..944cc869e 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,3 +1,4 @@ +/* global module */ module.exports = { env: { browser: true, @@ -25,9 +26,14 @@ module.exports = { "linebreak-style": ["error", "unix"], "no-extra-semi": "error", "no-mixed-spaces-and-tabs": "error", + "no-multi-spaces": "error", + "no-redeclare": ["error", {builtinGlobals: false}], "no-trailing-spaces": "error", + "no-unused-vars": "off", "no-whitespace-before-property": "error", "object-curly-newline": ["error", {consistent: true, multiline: true}], + "object-curly-spacing": ["error", "never"], + "operator-linebreak": ["error", "after"], "quote-props": ["error", "consistent-as-needed"], "semi": ["error", "always"], "semi-spacing": "error", @@ -40,51 +46,43 @@ module.exports = { "switch-colon-spacing": "error", "template-curly-spacing": ["error", "never"], "unicode-bom": "error", - "no-multi-spaces": "error", - "object-curly-spacing": ["error", "never"], - "operator-linebreak": ["error", "after"], - "no-unused-vars": "off", - "no-redeclare": "off", }, globals: { - // this file - module: "writable", //script.js - gradioApp: "writable", - onUiLoaded: "writable", - onUiUpdate: "writable", - onOptionsChanged: "writable", + gradioApp: "readonly", + onUiLoaded: "readonly", + onUiUpdate: "readonly", + onOptionsChanged: "readonly", uiCurrentTab: "writable", - uiElementIsVisible: "writable", - uiElementInSight: "writable", - executeCallbacks: "writable", + uiElementIsVisible: "readonly", + uiElementInSight: "readonly", + executeCallbacks: "readonly", //ui.js opts: "writable", - all_gallery_buttons: "writable", - selected_gallery_button: "writable", - selected_gallery_index: "writable", - args_to_array: "writable", - switch_to_txt2img: "writable", - switch_to_img2img_tab: "writable", - switch_to_img2img: "writable", - switch_to_sketch: "writable", - switch_to_inpaint: "writable", - switch_to_inpaint_sketch: "writable", - switch_to_extras: "writable", - get_tab_index: "writable", - create_submit_args: "writable", - restart_reload: "writable", - updateInput: "writable", + all_gallery_buttons: "readonly", + selected_gallery_button: "readonly", + selected_gallery_index: "readonly", + switch_to_txt2img: "readonly", + switch_to_img2img_tab: "readonly", + switch_to_img2img: "readonly", + switch_to_sketch: "readonly", + switch_to_inpaint: "readonly", + switch_to_inpaint_sketch: "readonly", + switch_to_extras: "readonly", + get_tab_index: "readonly", + create_submit_args: "readonly", + restart_reload: "readonly", + updateInput: "readonly", //extraNetworks.js - requestGet: "writable", - popup: "writable", + requestGet: "readonly", + popup: "readonly", // from python - localization: "writable", + localization: "readonly", // progrssbar.js - randomId: "writable", - requestProgress: "writable", + randomId: "readonly", + requestProgress: "readonly", // imageviewer.js - modalPrevImage: "writable", - modalNextImage: "writable", + modalPrevImage: "readonly", + modalNextImage: "readonly", } }; diff --git a/javascript/textualInversion.js b/javascript/textualInversion.js index 37e3d0756..20443fcca 100644 --- a/javascript/textualInversion.js +++ b/javascript/textualInversion.js @@ -9,7 +9,7 @@ function start_training_textual_inversion() { gradioApp().getElementById('ti_progress').innerHTML = progress.textinfo; }); - var res = args_to_array(arguments); + var res = Array.from(arguments); res[0] = id; diff --git a/javascript/ui.js b/javascript/ui.js index c7316ddb0..648a5290e 100644 --- a/javascript/ui.js +++ b/javascript/ui.js @@ -61,18 +61,12 @@ function extract_image_from_gallery(gallery) { return [gallery[index]]; } -function args_to_array(args) { - var res = []; - for (var i = 0; i < args.length; i++) { - res.push(args[i]); - } - return res; -} +window.args_to_array = Array.from; // Compatibility with e.g. extensions that may expect this to be around function switch_to_txt2img() { gradioApp().querySelector('#tabs').querySelectorAll('button')[0].click(); - return args_to_array(arguments); + return Array.from(arguments); } function switch_to_img2img_tab(no) { @@ -81,65 +75,55 @@ function switch_to_img2img_tab(no) { } function switch_to_img2img() { switch_to_img2img_tab(0); - return args_to_array(arguments); + return Array.from(arguments); } function switch_to_sketch() { switch_to_img2img_tab(1); - return args_to_array(arguments); + return Array.from(arguments); } function switch_to_inpaint() { switch_to_img2img_tab(2); - return args_to_array(arguments); + return Array.from(arguments); } function switch_to_inpaint_sketch() { switch_to_img2img_tab(3); - return args_to_array(arguments); + return Array.from(arguments); } function switch_to_extras() { gradioApp().querySelector('#tabs').querySelectorAll('button')[2].click(); - return args_to_array(arguments); + return Array.from(arguments); } function get_tab_index(tabId) { - var res = 0; - - gradioApp().getElementById(tabId).querySelector('div').querySelectorAll('button').forEach(function(button, i) { - if (button.className.indexOf('selected') != -1) { - res = i; + let buttons = gradioApp().getElementById(tabId).querySelector('div').querySelectorAll('button'); + for (let i = 0; i < buttons.length; i++) { + if (buttons[i].classList.contains('selected')) { + return i; } - }); - - return res; + } + return 0; } function create_tab_index_args(tabId, args) { - var res = []; - for (var i = 0; i < args.length; i++) { - res.push(args[i]); - } - + var res = Array.from(args); res[0] = get_tab_index(tabId); - return res; } function get_img2img_tab_index() { - let res = args_to_array(arguments); + let res = Array.from(arguments); res.splice(-2); res[0] = get_tab_index('mode_img2img'); return res; } function create_submit_args(args) { - var res = []; - for (var i = 0; i < args.length; i++) { - res.push(args[i]); - } + var res = Array.from(args); // As it is currently, txt2img and img2img send back the previous output args (txt2img_gallery, generation_info, html_info) whenever you generate a new image. // This can lead to uploading a huge gallery of previously generated images, which leads to an unnecessary delay between submitting and beginning to generate. @@ -275,13 +259,13 @@ function recalculatePromptTokens(name) { function recalculate_prompts_txt2img() { recalculatePromptTokens('txt2img_prompt'); recalculatePromptTokens('txt2img_neg_prompt'); - return args_to_array(arguments); + return Array.from(arguments); } function recalculate_prompts_img2img() { recalculatePromptTokens('img2img_prompt'); recalculatePromptTokens('img2img_neg_prompt'); - return args_to_array(arguments); + return Array.from(arguments); }