From cb93af66758cb2da9221340d0abbedebdb444e93 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= <danxuliu@gmail.com>
Date: Sun, 25 Aug 2019 17:18:26 +0200
Subject: [PATCH] Ignore Enter key up event on menu button toggles
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Like links, buttons generate a "click" event as well as the regular
"keydown" and "keyup" events when pressing Enter. Due to this, if both
the "click" and the "keyup" events are handled, when the menu is open
and Enter is pressed in the toggle the menu is first hidden when the
first event is handled, but then shown again when the second event is
handled. To prevent that only the "click" event should be handled when
the toggle is a button, like it is already done with links.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
---
 core/js/dist/login.js           | Bin 606813 -> 606843 bytes
 core/js/dist/login.js.map       | Bin 2452193 -> 2452274 bytes
 core/js/dist/main.js            | Bin 1274996 -> 1275026 bytes
 core/js/dist/main.js.map        | Bin 4398587 -> 4398668 bytes
 core/js/dist/maintenance.js     | Bin 503699 -> 503729 bytes
 core/js/dist/maintenance.js.map | Bin 1941459 -> 1941540 bytes
 core/src/OC/menu.js             |   4 ++--
 package-lock.json               |  15 +++++----------
 8 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/core/js/dist/login.js b/core/js/dist/login.js
index 9e3203a3a20da9b3e076d808775b380bbd43a52c..2fa87ae0d2babd6aebed73e962177b6055d13a53 100644
GIT binary patch
delta 53
zcmccHqWZf<wV{P^3)75SoHaE{PN5+o{(kMvx0ryK8Hibcm=%cGfS7%I^DT~B=>U0T
B7$*P#

delta 43
scmey}qI$PQwV{P^3)75S?b~iK0WmWWvj8zG5VHX>`}S?OIF6<R0O$7>cmMzZ

diff --git a/core/js/dist/login.js.map b/core/js/dist/login.js.map
index 3a134c3431120268ac8ca186bd0dd43d5a2e41a9..a55f832604b446ab65f5021cd1f2f424e12707e3 100644
GIT binary patch
delta 255
zcmaEObt>bgYf~8;S{PfHT9~)6WZbq&ch>QBbToA`$#Kzfb#x5OD0R{Cc69XCiF9<#
zcF_q3$)y9uP~^fLovU2h+itS}F)I+W0Wmuea{w_X5OV=BHxTmxF)tAF0Wm)i3jnd;
z_O{zXm#%RuB<7_kB$bww<mXL~*d&}jecvWw1r~*x8incmHwnvfIE99U`1`4Aw%^+%
z48$TpEDFS8Kr9Z#5<n~o#8N;k4a71)EDOYPKr9c$3P7v~#7aP{y#3xL73LiPkeP13

delta 199
zcmWN=ISztA7zWU=xZy7D3gVJjI0=m&;76>8g_TE;!pg*23ldI1=s5yog6A-iW-4#u
z_mY?9k@WjU(ld|(IZ$4zFU*a@jzl|Wdv)1?=;YsB<`H@9O#7P?CPKvm7O{k7te}Qf
ztYIA+*u)mLvqW@0dHhKAORRC-kZB#-T*of<u#W>A;t0n$!6_PO;tVaE;{unN%~#6%
E4=MIh;s5{u

diff --git a/core/js/dist/main.js b/core/js/dist/main.js
index 8c3aafd388ff5af080bf907b002a88ea320d0ec6..00e1a8366011bbbb251c1a7179f2a3e8285a8acf 100644
GIT binary patch
delta 93
zcmezJ!gtb3--Z^(Ele|Ran{r*IfaIV`1`dt-(mt{W*}w(Vpbq#17da{<^W<&Am##M
bZXo6XVqPHT17dz4764+w?ajA@KF$OH24^g$

delta 83
zcmbRA()Y^?--Z^(Ele|RwQsw{1jNih%mT!$K+Fcj>_E%`#GF9P1;pGy%mc){K+Ffk
R{6H)K#Dd$m-4ePp698FxEcE~Y

diff --git a/core/js/dist/main.js.map b/core/js/dist/main.js.map
index 20399dce450885a17b8147ac67d62026881aadea..2d5949713b0a6e32072fbbe4c9f4d529ca47e96a 100644
GIT binary patch
delta 373
zcmY+*xlRI60EOW=f}*(Z3RkZyE?02@7sl-lV?|sh!4ON0$&hHUfyPi+OrW8k)<>8^
zL!pHaz#G~4Q(An@`E!218b<58VZ3=Ap5b+Rp^tDe$hcW`sdd^)J=^L+Yo}PTRZi=i
zy3_i}R)uzR+5WYH&c539S`bDTx)DJSdJ#n*`Z0h(3}F}}7{wUIF@Z@;VHz`tHETgU
z`5u+`rAPTtDVJYL{^yNw{g@+UNLH)Tk2^v{tlND4`YN$jHywdl%t2xv3s}Swma&2a
sR?+^fV*?7C*g_K9*ugILkU|>!IKUx}kb#L~oZu8^IEQYUj`h>}1C|tnZvX%Q

delta 317
zcmWm4%~C;e7{K9iLLm~NucJ~Z{=SN$RNjM?G1FPO1Qu3i>|2}}o3poVT)|nGv8Y8C
z;1b+Pn|>D0?pgoX+TXXWeOfL{vvw@^(lc_Bc|-L@YDRV3QC$&pH0`LKNKXx<Juzkr
z#{(~Ru?HXg2w)#Ugm8c`4iP~VM~ESg1defnQ=F|9&Uxu;zWLCH^P#Ehnq+6TsUwLC
zT;d8TT;m35WU#%rxI+$kC=^gc31w7pj|Wsy!y}$hM+47zK@+cd!#i4#m2Dco>whPD
Bfyn>>

diff --git a/core/js/dist/maintenance.js b/core/js/dist/maintenance.js
index 74478ebcf3dc1bb40890f05e086e5ee9c209492c..623329b102c6385d6d1147c50a297406fdcfffd6 100644
GIT binary patch
delta 45
xcmbPyUvA@lxrP?TEle|Ran{r*IfaIV`1`dt-(mt{W*}w(V%F`=x7Y-(0szVA6bJwS

delta 35
ncmdmZUvBb!xrP?TEle|RwQsw{1jNih%mT!$+qd0f`+WrfM)wl(

diff --git a/core/js/dist/maintenance.js.map b/core/js/dist/maintenance.js.map
index 8c4e35f925514c19873c8c9b101ff51f27c81ede..7e329cae6b338e4474f4ea6cf4e71663730fbdfe 100644
GIT binary patch
delta 225
zcmcb-zii2YvW6DM7N!>FEi9rlt<s%!d>tK4olJ6EbX*-B12alpbi5rMy>%iT9kX3@
z!a;KBKrs}#a7X7Vmv-ZsEI`Z(#B4y!4#XTl%n8I?K+FxqJV49~#C$-^zukDIz?NOy
z3W<3s3Q46UCHZ;Np9c%3PxlQGRA5o4sZp5j7a}Oj;S?GY;_s)f*`6CB2*g4_EDXdV
eKr9NxVn8eo#1cR(3B*!BEDgjm+jB!?)4T!RZc3~G

delta 169
zcmZ2-pzQMgvW6DM7N!>FEi9rl<+Po2d>tK4olJ6EbX*-B12alpbi5rMy>-GJor|2>
z{b#ZOF)I+W0Wmuea{w_X5OV=BHxTmxF)tAF0Wtq}|Cs_?c1`CC5lo*xGel69$x*$1
pUx*+O3jwh(5Q_k@C=iPQu{aP*0I?(xO98Po5X)@e7b2VH4FCgdKEVJ0

diff --git a/core/src/OC/menu.js b/core/src/OC/menu.js
index a0ecd2a5f4f..04d0e078b9a 100644
--- a/core/src/OC/menu.js
+++ b/core/src/OC/menu.js
@@ -39,9 +39,9 @@ let currentMenuToggle = null
 export const registerMenu = ($toggle, $menuEl, toggle, headerMenu) => {
 	$menuEl.addClass('menu')
 
-	// On link, the enter key trigger a click event
+	// On link and button, the enter key trigger a click event
 	// Only use the click to avoid two fired events
-	$toggle.on($toggle.prop('tagName') === 'A'
+	$toggle.on(($toggle.prop('tagName') === 'A' || $toggle.prop('tagName') === 'BUTTON')
 		? 'click.menu'
 		: 'click.menu keyup.menu', function (event) {
 		// prevent the link event (append anchor to URL)
diff --git a/package-lock.json b/package-lock.json
index 84915894c5e..8e65978e5b1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -2951,16 +2951,16 @@
       "integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs="
     },
     "dmd": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/dmd/-/dmd-4.0.0.tgz",
-      "integrity": "sha512-J+4CgbQiMuJHiU9dvTVN8iOOZGeR3bef1wBqz6eVvvX17jkpkKVd8TeeutA/FJAeFbLQfXnyQ3o4qY7W+c5cxQ==",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/dmd/-/dmd-4.0.1.tgz",
+      "integrity": "sha512-lKBX/++DzfgasOfPogVej5R071dxAYQwYih7lXQMJfVESJTZieo2MQAqYlJyDyLPxkyLO3cvnwIFchOPgG5FVA==",
       "requires": {
         "array-back": "^3.1.0",
         "cache-point": "^0.4.1",
         "common-sequence": "^1.0.2",
-        "file-set": "^2.0.0",
+        "file-set": "^2.0.1",
         "handlebars": "^4.1.2",
-        "marked": "^0.6.2",
+        "marked": "^0.7.0",
         "object-get": "^2.1.0",
         "reduce-flatten": "^2.0.0",
         "reduce-unique": "^2.0.1",
@@ -2969,11 +2969,6 @@
         "walk-back": "^3.0.1"
       },
       "dependencies": {
-        "marked": {
-          "version": "0.6.3",
-          "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.3.tgz",
-          "integrity": "sha512-Fqa7eq+UaxfMriqzYLayfqAE40WN03jf+zHjT18/uXNuzjq3TY0XTbrAoPeqSJrAmPz11VuUA+kBPYOhHt9oOQ=="
-        },
         "reduce-flatten": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz",
-- 
GitLab