@@ -42,7 +42,13 @@ function formatKeyEvent(event: any) {
4242 return `${ modifierPrefix } ${ event . key } ` ;
4343}
4444
45- function EventLog ( { eventLog, onClear} : { eventLog : Array < string > , onClear : ( ) => void } ) {
45+ function EventLog ( {
46+ eventLog,
47+ onClear,
48+ } : {
49+ eventLog : Array < string > ,
50+ onClear : ( ) => void ,
51+ } ) {
4652 return (
4753 < View testID = "keyboard_events_example_console" style = { styles . eventLogBox } >
4854 < View style = { styles . logHeaderRow } >
@@ -171,73 +177,62 @@ function KeyboardEventExample(): React.Node {
171177
172178 function isKeyBlocked ( event : any , keyEvents : Array < any > ) {
173179 return keyEvents . some ( ( { key, metaKey, ctrlKey, altKey, shiftKey} ) => {
174- return event . key === key &&
180+ return (
181+ event . key === key &&
175182 ( metaKey ?? event . metaKey ) === event . metaKey &&
176183 ( ctrlKey ?? event . ctrlKey ) === event . ctrlKey &&
177184 ( altKey ?? event . altKey ) === event . altKey &&
178- ( shiftKey ?? event . shiftKey ) === event . shiftKey ;
185+ ( shiftKey ?? event . shiftKey ) === event . shiftKey
186+ ) ;
179187 } ) ;
180188 }
181189
182- const handleSingleLineKeyDown = React . useCallback (
183- ( e : KeyEvent ) => {
184- const keyDownEvents = [
185- { key : 'g' } ,
186- { key : 'Escape' } ,
187- { key : 'Enter' } ,
188- { key : 'ArrowLeft' } ,
189- ] ;
190- const isBlocked = isKeyBlocked ( e . nativeEvent , keyDownEvents ) ;
191- const suffix = isBlocked ? ' (blocked)' : '' ;
192- const keyDisplay = formatKeyEvent ( e . nativeEvent ) ;
193- appendEvent ( `keyDown: ${ keyDisplay } ${ suffix } ` , 'Single-line TextInput' ) ;
194- } ,
195- [ ] ,
196- ) ;
197-
198- const handleSingleLineKeyUp = React . useCallback (
199- ( e : KeyEvent ) => {
200- const keyUpEvents = [ { key : 'c' } , { key : 'd' } ] ;
201- const isBlocked = isKeyBlocked ( e . nativeEvent , keyUpEvents ) ;
202- const suffix = isBlocked ? ' (blocked)' : '' ;
203- const keyDisplay = formatKeyEvent ( e . nativeEvent ) ;
204- appendEvent ( `keyUp: ${ keyDisplay } ${ suffix } ` , 'Single-line TextInput' ) ;
205- } ,
206- [ ] ,
207- ) ;
190+ const handleSingleLineKeyDown = React . useCallback ( ( e : KeyEvent ) => {
191+ const keyDownEvents = [
192+ { key : 'g' } ,
193+ { key : 'Escape' } ,
194+ { key : 'Enter' } ,
195+ { key : 'ArrowLeft' } ,
196+ ] ;
197+ const isBlocked = isKeyBlocked ( e . nativeEvent , keyDownEvents ) ;
198+ const suffix = isBlocked ? ' (blocked)' : '' ;
199+ const keyDisplay = formatKeyEvent ( e . nativeEvent ) ;
200+ appendEvent ( `keyDown: ${ keyDisplay } ${ suffix } ` , 'Single-line TextInput' ) ;
201+ } , [ ] ) ;
208202
209- const handleMultiLineKeyDown = React . useCallback (
210- ( e : KeyEvent ) => {
211- const keyDownEvents = [
212- { key : 'ArrowRight' } ,
213- { key : 'ArrowDown' } ,
214- { key : 'Enter' , metaKey : true } ,
215- ] ;
216- const isBlocked = isKeyBlocked ( e . nativeEvent , keyDownEvents ) ;
217- const suffix = isBlocked ? ' (blocked)' : '' ;
218- const keyDisplay = formatKeyEvent ( e . nativeEvent ) ;
219- appendEvent ( `keyDown: ${ keyDisplay } ${ suffix } ` , 'Multi-line TextInput' ) ;
220- } ,
221- [ ] ,
222- ) ;
223-
224- const handleMultiLineKeyUp = React . useCallback (
225- ( e : KeyEvent ) => {
226- const keyUpEvents = [ { key : 'Escape' } , { key : 'Enter' } ] ;
227- const isBlocked = isKeyBlocked ( e . nativeEvent , keyUpEvents ) ;
228- const suffix = isBlocked ? ' (blocked)' : '' ;
229- const keyDisplay = formatKeyEvent ( e . nativeEvent ) ;
230- appendEvent ( `keyUp: ${ keyDisplay } ${ suffix } ` , 'Multi-line TextInput' ) ;
231- } ,
232- [ ] ,
233- ) ;
203+ const handleSingleLineKeyUp = React . useCallback ( ( e : KeyEvent ) => {
204+ const keyUpEvents = [ { key : 'c' } , { key : 'd' } ] ;
205+ const isBlocked = isKeyBlocked ( e . nativeEvent , keyUpEvents ) ;
206+ const suffix = isBlocked ? ' (blocked)' : '' ;
207+ const keyDisplay = formatKeyEvent ( e . nativeEvent ) ;
208+ appendEvent ( `keyUp: ${ keyDisplay } ${ suffix } ` , 'Single-line TextInput' ) ;
209+ } , [ ] ) ;
234210
211+ const handleMultiLineKeyDown = React . useCallback ( ( e : KeyEvent ) => {
212+ const keyDownEvents = [
213+ { key : 'ArrowRight' } ,
214+ { key : 'ArrowDown' } ,
215+ { key : 'Enter' , metaKey : true } ,
216+ ] ;
217+ const isBlocked = isKeyBlocked ( e . nativeEvent , keyDownEvents ) ;
218+ const suffix = isBlocked ? ' (blocked)' : '' ;
219+ const keyDisplay = formatKeyEvent ( e . nativeEvent ) ;
220+ appendEvent ( `keyDown: ${ keyDisplay } ${ suffix } ` , 'Multi-line TextInput' ) ;
221+ } , [ ] ) ;
235222
223+ const handleMultiLineKeyUp = React . useCallback ( ( e : KeyEvent ) => {
224+ const keyUpEvents = [ { key : 'Escape' } , { key : 'Enter' } ] ;
225+ const isBlocked = isKeyBlocked ( e . nativeEvent , keyUpEvents ) ;
226+ const suffix = isBlocked ? ' (blocked)' : '' ;
227+ const keyDisplay = formatKeyEvent ( e . nativeEvent ) ;
228+ appendEvent ( `keyUp: ${ keyDisplay } ${ suffix } ` , 'Multi-line TextInput' ) ;
229+ } , [ ] ) ;
236230
237231 return (
238232 < View style = { { marginTop : 10 } } >
239233 < Text style = { styles . description } >
240- Examples of keyboard event handling with keyDownEvents and keyUpEvents arrays. Use to suppress native handling of specific keys.
234+ Examples of keyboard event handling with keyDownEvents and keyUpEvents
235+ arrays. Use to suppress native handling of specific keys.
241236 </ Text >
242237
243238 < View style = { styles . inputContainer } >
0 commit comments