diff options
author | d8ahazard <d8ahazard@gmail.com> | 2022-09-27 16:02:41 +0000 |
---|---|---|
committer | d8ahazard <d8ahazard@gmail.com> | 2022-09-27 16:02:41 +0000 |
commit | 5756d517a6342d8a9ffa3ead636dcb84b463d2e3 (patch) | |
tree | 6feb5e799520b66aa65f09f7dbb352f4e3813a60 /javascript/dragdrop.js | |
parent | 11875f586323cea7c5b8398976449788a83dee76 (diff) | |
parent | ada901ed661a717c44281d640b8fc0a275d4cb48 (diff) | |
download | stable-diffusion-webui-gfx803-5756d517a6342d8a9ffa3ead636dcb84b463d2e3.tar.gz stable-diffusion-webui-gfx803-5756d517a6342d8a9ffa3ead636dcb84b463d2e3.tar.bz2 stable-diffusion-webui-gfx803-5756d517a6342d8a9ffa3ead636dcb84b463d2e3.zip |
Merge remote-tracking branch 'upstream/master' into ModelLoader
Diffstat (limited to 'javascript/dragdrop.js')
-rw-r--r-- | javascript/dragdrop.js | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/javascript/dragdrop.js b/javascript/dragdrop.js index c01f66e2..5aac57f7 100644 --- a/javascript/dragdrop.js +++ b/javascript/dragdrop.js @@ -68,13 +68,19 @@ window.addEventListener('paste', e => { if ( ! isValidImageList( files ) ) { return; } - [...gradioApp().querySelectorAll('input[type=file][accept="image/x-png,image/gif,image/jpeg"]')] - .filter(input => !input.matches('.\\!hidden input[type=file]')) - .forEach(input => { - input.files = files; - input.dispatchEvent(new Event('change')) - }); - [...gradioApp().querySelectorAll('[data-testid="image"]')] - .filter(imgWrap => !imgWrap.closest('.\\!hidden')) - .forEach(imgWrap => dropReplaceImage( imgWrap, files )); + + const visibleImageFields = [...gradioApp().querySelectorAll('[data-testid="image"]')] + .filter(el => uiElementIsVisible(el)); + if ( ! visibleImageFields.length ) { + return; + } + + const firstFreeImageField = visibleImageFields + .filter(el => el.querySelector('input[type=file]'))?.[0]; + + dropReplaceImage( + firstFreeImageField ? + firstFreeImageField : + visibleImageFields[visibleImageFields.length - 1] + , files ); }); |