From 2c71c28bc5d6edaec75e951a4e010573593363bc Mon Sep 17 00:00:00 2001 From: Mirko Guarnier Date: Tue, 23 Jan 2018 21:00:10 +0100 Subject: [PATCH] Redux form onChange onBlur fix (#22989) * Fix onChange and onBlur parameters * Add semicolon * Fix definition --- types/redux-form/lib/Field.d.ts | 16 +++++++++++----- types/redux-form/redux-form-tests.tsx | 7 +++++++ 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/types/redux-form/lib/Field.d.ts b/types/redux-form/lib/Field.d.ts index 54b0ec2f45..aa3036b713 100644 --- a/types/redux-form/lib/Field.d.ts +++ b/types/redux-form/lib/Field.d.ts @@ -17,20 +17,24 @@ export type Parser = (value: any, name: string) => any; export type Validator = (value: any, allValues?: any, props?: any) => any; export type EventHandler = (event: Event) => void; +export type EventWithDataHandler = (event?: Event, newValue?: any, previousValue?: any) => void; export interface EventOrValueHandler extends EventHandler { (value: any): void; } -export interface CommonFieldProps { +export interface CommonFieldInputProps { name: string; - onBlur: EventOrValueHandler>; - onChange: EventOrValueHandler>; onDragStart: EventHandler>; onDrop: EventHandler>; onFocus: EventHandler>; } +export interface CommonFieldProps extends CommonFieldInputProps { + onBlur: EventWithDataHandler>; + onChange: EventWithDataHandler>; +} + export interface BaseFieldProps

extends Partial { name: string; label?: string; @@ -57,7 +61,7 @@ export type GenericFieldHTMLAttributes = SelectHTMLAttributes | TextareaHTMLAttributes; -export class Field

extends Component & P> implements GenericField

{ +export class Field

extends Component & P> { dirty: boolean; name: string; pristine: boolean; @@ -70,9 +74,11 @@ export interface WrappedFieldProps { meta: WrappedFieldMetaProps; } -export interface WrappedFieldInputProps extends CommonFieldProps { +export interface WrappedFieldInputProps extends CommonFieldInputProps { checked?: boolean; value: any; + onBlur: EventOrValueHandler>; + onChange: EventOrValueHandler>; } export interface WrappedFieldMetaProps { diff --git a/types/redux-form/redux-form-tests.tsx b/types/redux-form/redux-form-tests.tsx index 96cde6674a..8949fa6ec2 100644 --- a/types/redux-form/redux-form-tests.tsx +++ b/types/redux-form/redux-form-tests.tsx @@ -265,6 +265,13 @@ const Test = reduxForm({ component="select" /> + {}} + onBlur={(event, newValue, previousValue) => {}} + /> +