From 9035afbab5e1285cfc7ad39c1e17374973842ae9 Mon Sep 17 00:00:00 2001 From: trufty Date: Tue, 20 Sep 2022 14:59:34 -0400 Subject: [PATCH] Reset image input when dragover new image --- javascript/dragdrop.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/javascript/dragdrop.js b/javascript/dragdrop.js index 4cd05151..29e26766 100644 --- a/javascript/dragdrop.js +++ b/javascript/dragdrop.js @@ -19,6 +19,15 @@ function dropReplaceImage( imgWrap, files ) { }); } +function pressClearBtn(hoverElems) { + //Find all buttons hovering over the image box + let btns = Array.from(hoverElems.querySelectorAll("button")) + + //Press the last btn which will be the X button + if (btns.length) + btns[btns.length-1].click() +} + window.document.addEventListener('dragover', e => { const target = e.composedPath()[0]; const imgWrap = target.closest('[data-testid="image"]'); @@ -27,7 +36,13 @@ window.document.addEventListener('dragover', e => { } e.stopPropagation(); e.preventDefault(); - e.dataTransfer.dropEffect = 'copy'; + + if (e.dataTransfer) + e.dataTransfer.dropEffect = 'copy'; + + //If is gr.Interface clear image on hover + if (target.previousElementSibling) + pressClearBtn(target.previousElementSibling) }); window.document.addEventListener('drop', e => {