Use Ctrl modifier when navigating in item detail

Otherwise it clashes with input fields
This commit is contained in:
Eike Kettner
2020-09-22 22:07:27 +02:00
parent 60b8dc2134
commit 5b56ea881c
5 changed files with 181 additions and 39 deletions

View File

@ -8,6 +8,8 @@ module Util.Html exposing
, onDragLeave
, onDragOver
, onDropFiles
, onKeyDown
, onKeyDownCode
, onKeyUp
, onKeyUpCode
)
@ -56,12 +58,24 @@ type KeyCode
| Letter_U
| Point
| Comma
| Shift
| Ctrl
| Super
| Code Int
intToKeyCode : Int -> Maybe KeyCode
intToKeyCode code =
case code of
16 ->
Just Shift
17 ->
Just Ctrl
91 ->
Just Super
38 ->
Just Up
@ -122,11 +136,21 @@ onKeyUp tagger =
on "keyup" (D.map tagger keyCode)
onKeyDown : (Int -> msg) -> Attribute msg
onKeyDown tagger =
on "keydown" (D.map tagger keyCode)
onKeyUpCode : (Maybe KeyCode -> msg) -> Attribute msg
onKeyUpCode tagger =
onKeyUp (intToKeyCode >> tagger)
onKeyDownCode : (Maybe KeyCode -> msg) -> Attribute msg
onKeyDownCode tagger =
onKeyDown (intToKeyCode >> tagger)
onClickk : msg -> Attribute msg
onClickk msg =
Html.Events.preventDefaultOn "click" (D.map alwaysPreventDefault (D.succeed msg))