diff options
author | Connum <connum@gmail.com> | 2022-09-20 22:28:03 +0000 |
---|---|---|
committer | AUTOMATIC1111 <16777216c@gmail.com> | 2022-09-21 06:13:13 +0000 |
commit | e9ba2d42d6c13bc3f8763c6ccd00fff2519b3152 (patch) | |
tree | b5acc16e1b9dbcaaf4f3ff6358be3a9453d3c690 /javascript/dragdrop.js | |
parent | 29d6084f47918a1ae46bea1ef9bf0cd37836e03e (diff) | |
download | stable-diffusion-webui-gfx803-e9ba2d42d6c13bc3f8763c6ccd00fff2519b3152.tar.gz stable-diffusion-webui-gfx803-e9ba2d42d6c13bc3f8763c6ccd00fff2519b3152.tar.bz2 stable-diffusion-webui-gfx803-e9ba2d42d6c13bc3f8763c6ccd00fff2519b3152.zip |
fix image replacement via clipboard paste or drag and drop on PNG Info tab
Diffstat (limited to 'javascript/dragdrop.js')
-rw-r--r-- | javascript/dragdrop.js | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/javascript/dragdrop.js b/javascript/dragdrop.js index 29e26766..0fb74dba 100644 --- a/javascript/dragdrop.js +++ b/javascript/dragdrop.js @@ -10,13 +10,34 @@ function dropReplaceImage( imgWrap, files ) { } imgWrap.querySelector('.modify-upload button + button, .touch-none + div button + button')?.click(); - window.requestAnimationFrame( () => { + const callback = () => { const fileInput = imgWrap.querySelector('input[type="file"]'); if ( fileInput ) { fileInput.files = files; fileInput.dispatchEvent(new Event('change')); } - }); + }; + + if ( imgWrap.closest('#pnginfo_image') ) { + // special treatment for PNG Info tab, wait for fetch request to finish + const oldFetch = window.fetch; + window.fetch = async (input, options) => { + const response = await oldFetch(input, options); + if ( 'api/predict/' === input ) { + const content = await response.text(); + window.fetch = oldFetch; + window.requestAnimationFrame( () => callback() ); + return new Response(content, { + status: response.status, + statusText: response.statusText, + headers: response.headers + }) + } + return response; + }; + } else { + window.requestAnimationFrame( () => callback() ); + } } function pressClearBtn(hoverElems) { |