From 1ec0072fabcc40109803dd1e8024953ee4dcf962 Mon Sep 17 00:00:00 2001 From: Fxvoid Date: Wed, 12 Jul 2023 21:11:09 +0300 Subject: [PATCH] Added queue for handleSelect function --- javascript/state.utils.js | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/javascript/state.utils.js b/javascript/state.utils.js index f755aca..6836a2a 100644 --- a/javascript/state.utils.js +++ b/javascript/state.utils.js @@ -1,5 +1,6 @@ window.state = window.state || {}; state = window.state; +let selectingQueue = -1; state.utils = { triggerEvent: function triggerEvent(element, event) { @@ -59,20 +60,23 @@ state.utils = { let value = store.get(id); if (value) { - - let input = select.querySelector('input'); - state.utils.triggerMouseEvent(input, 'focus'); - + selectingQueue += 1; setTimeout(() => { - let items = Array.from(select.querySelectorAll('ul li')); - items.forEach(li => { - if (li.lastChild.wholeText.trim() === value) { - state.utils.triggerMouseEvent(li, 'mousedown'); - return false; - } - }); - state.utils.triggerMouseEvent(input, 'blur'); - }, 100); + let input = select.querySelector('input'); + state.utils.triggerMouseEvent(input, 'focus'); + + setTimeout(() => { + let items = Array.from(select.querySelectorAll('ul li')); + items.forEach(li => { + if (li.lastChild.wholeText.trim() === value) { + state.utils.triggerMouseEvent(li, 'mousedown'); + return false; + } + }); + state.utils.triggerMouseEvent(input, 'blur'); + selectingQueue -= 1; + }, 100); + }, selectingQueue * 200) } setTimeout(() => {