on develop help sign in
Merge pull request #197 from tomsmalley/develop

Add 'keydown' and 'keyup' to match 'keypress'

commitac5d1dd82e8773aec9fdfb46c0c951e169fd0566 authorRyan Trinkle <ryan.trinkle@gmail.com> dateThu 1 Feb 2018, 11:05 (9 years ago) parent514147463852ab
1 file changed+9−1
reflex-dom-core/src/Reflex/Dom/Widget/Input.hs+9−1
reflex-dom-core/src/Reflex/Dom/Widget/Input.hs+9−1
@@ -112,7 +112,15 @@ textInputGetEnter = keypress Enter
112112
113113{-# INLINABLE keypress #-}
114114keypress :: (Reflex t, HasDomEvent t e 'KeypressTag, DomEventType e 'KeypressTag ~ Word) => Key -> e -> Event t ()
115−keypress key i = fmapMaybe (\n -> if keyCodeLookup (fromIntegral n) == key then Just () else Nothing) $ domEvent Keypress i
115+keypress key = fmapMaybe (\n -> guard $ keyCodeLookup (fromIntegral n) == key) . domEvent Keypress
116+
117+{-# INLINABLE keydown #-}
118+keydown :: (Reflex t, HasDomEvent t e 'KeydownTag, DomEventType e 'KeydownTag ~ Word) => Key -> e -> Event t ()
119+keydown key = fmapMaybe (\n -> guard $ keyCodeLookup (fromIntegral n) == key) . domEvent Keydown
120+
121+{-# INLINABLE keyup #-}
122+keyup :: (Reflex t, HasDomEvent t e 'KeyupTag, DomEventType e 'KeyupTag ~ Word) => Key -> e -> Event t ()
123+keyup key = fmapMaybe (\n -> guard $ keyCodeLookup (fromIntegral n) == key) . domEvent Keyup
116124
117125data RangeInputConfig t
118126 = RangeInputConfig { _rangeInputConfig_initialValue :: Float