Skip to content

Commit

Permalink
[react-events] Keyboard: fix callback return types (#16693)
Browse files Browse the repository at this point in the history
  • Loading branch information
necolas committed Sep 9, 2019
1 parent 9444c87 commit f26fe8c
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions packages/react-events/src/dom/Keyboard.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ type KeyboardEventType = 'keydown' | 'keyup';

type KeyboardProps = {
disabled: boolean,
onKeyDown: (e: KeyboardEvent) => void,
onKeyUp: (e: KeyboardEvent) => void,
onKeyDown: (e: KeyboardEvent) => ?boolean,
onKeyUp: (e: KeyboardEvent) => ?boolean,
preventKeys: Array<string>,
};

Expand Down Expand Up @@ -162,7 +162,7 @@ function createKeyboardEvent(

function dispatchKeyboardEvent(
event: ReactDOMResponderEvent,
listener: KeyboardEvent => void,
listener: KeyboardEvent => ?boolean,
context: ReactDOMResponderContext,
type: KeyboardEventType,
defaultPrevented: boolean,
Expand Down Expand Up @@ -209,9 +209,11 @@ const keyboardResponderImpl = {
const config = ((preventKey[1]: any): Object);
for (let s = 0; s < modifiers.length; s++) {
const modifier = modifiers[s];
const configModifier = config[modifier];
const eventModifier = nativeEvent[modifier];
if (
(config[modifier] && !nativeEvent[modifier]) ||
(!config[modifier] && nativeEvent[modifier])
(configModifier && !eventModifier) ||
(!configModifier && eventModifier)
) {
continue preventKeyLoop;
}
Expand Down

0 comments on commit f26fe8c

Please sign in to comment.