diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-12-16 06:58:07 +0000 |
---|---|---|
committer | AUTOMATIC1111 <16777216c@gmail.com> | 2023-12-16 06:58:07 +0000 |
commit | cf2772fab0af5573da775e7437e6acdca424f26e (patch) | |
tree | 2ad13a0cf77bc189a8c9097bd507f9674f993da6 /script.js | |
parent | 4afaaf8a020c1df457bcf7250cb1c7f609699fa7 (diff) | |
parent | 0dfffe53ec11b2ee097d55efc479f8e707015db9 (diff) | |
download | stable-diffusion-webui-gfx803-cf2772fab0af5573da775e7437e6acdca424f26e.tar.gz stable-diffusion-webui-gfx803-cf2772fab0af5573da775e7437e6acdca424f26e.tar.bz2 stable-diffusion-webui-gfx803-cf2772fab0af5573da775e7437e6acdca424f26e.zip |
Merge branch 'release_candidate'
Diffstat (limited to 'script.js')
-rw-r--r-- | script.js | 33 |
1 files changed, 23 insertions, 10 deletions
@@ -124,16 +124,29 @@ document.addEventListener("DOMContentLoaded", function() { * Add a ctrl+enter as a shortcut to start a generation */ document.addEventListener('keydown', function(e) { - var handled = false; - if (e.key !== undefined) { - if ((e.key == "Enter" && (e.metaKey || e.ctrlKey || e.altKey))) handled = true; - } else if (e.keyCode !== undefined) { - if ((e.keyCode == 13 && (e.metaKey || e.ctrlKey || e.altKey))) handled = true; - } - if (handled) { - var button = get_uiCurrentTabContent().querySelector('button[id$=_generate]'); - if (button) { - button.click(); + const isEnter = e.key === 'Enter' || e.keyCode === 13; + const isModifierKey = e.metaKey || e.ctrlKey || e.altKey; + + const interruptButton = get_uiCurrentTabContent().querySelector('button[id$=_interrupt]'); + const generateButton = get_uiCurrentTabContent().querySelector('button[id$=_generate]'); + + if (isEnter && isModifierKey) { + if (interruptButton.style.display === 'block') { + interruptButton.click(); + const callback = (mutationList) => { + for (const mutation of mutationList) { + if (mutation.type === 'attributes' && mutation.attributeName === 'style') { + if (interruptButton.style.display === 'none') { + generateButton.click(); + observer.disconnect(); + } + } + } + }; + const observer = new MutationObserver(callback); + observer.observe(interruptButton, {attributes: true}); + } else { + generateButton.click(); } e.preventDefault(); } |