From d558cb69b0299cfbd15d693492d489a858b027f2 Mon Sep 17 00:00:00 2001
From: AUTOMATIC1111 <16777216c@gmail.com>
Date: Sat, 2 Mar 2024 06:37:19 +0300
Subject: [PATCH] Merge pull request #15065 from
 light-and-ray/resizeHandle_handle_double_tap

resizeHandle handle double tap
---
 javascript/resizeHandle.js | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/javascript/resizeHandle.js b/javascript/resizeHandle.js
index 6560372cc..c4e9de581 100644
--- a/javascript/resizeHandle.js
+++ b/javascript/resizeHandle.js
@@ -2,6 +2,7 @@
     const GRADIO_MIN_WIDTH = 320;
     const PAD = 16;
     const DEBOUNCE_TIME = 100;
+    const DOUBLE_TAP_DELAY = 200; //ms
 
     const R = {
         tracking: false,
@@ -10,6 +11,7 @@
         leftCol: null,
         leftColStartWidth: null,
         screenX: null,
+        lastTapTime: null,
     };
 
     let resizeTimer;
@@ -47,6 +49,14 @@
     }
 
     function setup(parent) {
+
+        function onDoubleClick(evt) {
+            evt.preventDefault();
+            evt.stopPropagation();
+
+            parent.style.gridTemplateColumns = parent.style.originalGridTemplateColumns;
+        }
+
         const leftCol = parent.firstElementChild;
         const rightCol = parent.lastElementChild;
 
@@ -69,6 +79,14 @@
                     if (evt.button !== 0) return;
                 } else {
                     if (evt.changedTouches.length !== 1) return;
+
+                    const currentTime = new Date().getTime();
+                    if (R.lastTapTime && currentTime - R.lastTapTime <= DOUBLE_TAP_DELAY) {
+                        onDoubleClick(evt);
+                        return;
+                    }
+
+                    R.lastTapTime = currentTime;
                 }
 
                 evt.preventDefault();
@@ -89,12 +107,7 @@
             });
         });
 
-        resizeHandle.addEventListener('dblclick', (evt) => {
-            evt.preventDefault();
-            evt.stopPropagation();
-
-            parent.style.gridTemplateColumns = parent.style.originalGridTemplateColumns;
-        });
+        resizeHandle.addEventListener('dblclick', onDoubleClick);
 
         afterResize(parent);
     }