aboutsummaryrefslogtreecommitdiffstats
path: root/javascript/dragdrop.js
diff options
context:
space:
mode:
authord8ahazard <d8ahazard@gmail.com>2022-09-27 16:02:41 +0000
committerd8ahazard <d8ahazard@gmail.com>2022-09-27 16:02:41 +0000
commit5756d517a6342d8a9ffa3ead636dcb84b463d2e3 (patch)
tree6feb5e799520b66aa65f09f7dbb352f4e3813a60 /javascript/dragdrop.js
parent11875f586323cea7c5b8398976449788a83dee76 (diff)
parentada901ed661a717c44281d640b8fc0a275d4cb48 (diff)
downloadstable-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.js24
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 );
});