]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Dropdown: use destructured variables in `dataApyKeydownHandler`
authorGeoSot <geo.sotis@gmail.com>
Sun, 30 Jan 2022 22:09:13 +0000 (00:09 +0200)
committerXhmikosR <xhmikosr@gmail.com>
Tue, 1 Feb 2022 06:58:46 +0000 (08:58 +0200)
js/src/dropdown.js

index ed3feceb86ee2bbb5f590983063166d16fc4d019..5635ec96ec6c495389ab8ef83e5d0f3f13b50ac1 100644 (file)
@@ -385,9 +385,10 @@ class Dropdown extends BaseComponent {
     //    - If key is not UP or DOWN => not a dropdown command
     //    - If trigger inside the menu => not a dropdown command
 
-    const isInput = /input|textarea/i.test(event.target.tagName)
-    const isEscapeEvent = event.key === ESCAPE_KEY
-    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)
+    const { target, key, delegateTarget } = event
+    const isInput = /input|textarea/i.test(target.tagName)
+    const isEscapeEvent = key === ESCAPE_KEY
+    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(key)
 
     if (!isInput && !(isUpOrDownEvent || isEscapeEvent)) {
       return
@@ -395,12 +396,12 @@ class Dropdown extends BaseComponent {
 
     if (isInput && !isEscapeEvent) {
       // eslint-disable-next-line unicorn/no-lonely-if
-      if (!isUpOrDownEvent || event.target.closest(SELECTOR_MENU)) {
+      if (!isUpOrDownEvent || target.closest(SELECTOR_MENU)) {
         return
       }
     }
 
-    const isActive = this.classList.contains(CLASS_NAME_SHOW)
+    const isActive = delegateTarget.classList.contains(CLASS_NAME_SHOW)
 
     if (!isActive && isEscapeEvent) {
       return
@@ -413,7 +414,7 @@ class Dropdown extends BaseComponent {
       return
     }
 
-    const getToggleButton = SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode)
+    const getToggleButton = SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, delegateTarget.parentNode)
     const instance = Dropdown.getOrCreateInstance(getToggleButton)
 
     if (isEscapeEvent) {