[madman] Supports `onLayout` for `AdsManagerTouchableHighlight`.

Summary:
Supports `onLayout` for Touchable*` by piping onLayout
through to the native component inside since only native components support
it by default.
This commit is contained in:
Hedger Wang 2015-09-01 10:31:20 -07:00
parent bc64f26a7a
commit 36dfd402b2
3 changed files with 11 additions and 0 deletions

View File

@ -211,6 +211,7 @@ var TouchableHighlight = React.createClass({
accessible={true}
ref={UNDERLAY_REF}
style={this.state.underlayStyle}
onLayout={this.props.onLayout}
onStartShouldSetResponder={this.touchableHandleStartShouldSetResponder}
onResponderTerminationRequest={this.touchableHandleResponderTerminationRequest}
onResponderGrant={this.touchableHandleResponderGrant}

View File

@ -155,6 +155,7 @@ var TouchableOpacity = React.createClass({
accessible={true}
style={[this.props.style, {opacity: this.state.anim}]}
testID={this.props.testID}
onLayout={this.props.onLayout}
onStartShouldSetResponder={this.touchableHandleStartShouldSetResponder}
onResponderTerminationRequest={this.touchableHandleResponderTerminationRequest}
onResponderGrant={this.touchableHandleResponderGrant}

View File

@ -44,7 +44,15 @@ var TouchableWithoutFeedback = React.createClass({
onPress: React.PropTypes.func,
onPressIn: React.PropTypes.func,
onPressOut: React.PropTypes.func,
/**
* Invoked on mount and layout changes with
*
* `{nativeEvent: {layout: {x, y, width, height}}}`
*/
onLayout: React.PropTypes.func,
onLongPress: React.PropTypes.func,
/**
* Delay in ms, from the start of the touch, before onPressIn is called.
*/
@ -113,6 +121,7 @@ var TouchableWithoutFeedback = React.createClass({
return (React: any).cloneElement(onlyChild(this.props.children), {
accessible: this.props.accessible !== false,
testID: this.props.testID,
onLayout: this.props.onLayout,
onStartShouldSetResponder: this.touchableHandleStartShouldSetResponder,
onResponderTerminationRequest: this.touchableHandleResponderTerminationRequest,
onResponderGrant: this.touchableHandleResponderGrant,