mirror of
https://github.com/status-im/react-native.git
synced 2025-01-28 02:04:55 +00:00
Android: Expose Image's onError event to JavaScript
Summary: iOS supports an Image onError event. Android was firing the event but it was never reaching JavaScript because Android didn't include this event in `getExportedCustomDirectEventTypeConstants`. **Test plan (required)** Verified that the `onError` event now fires in a test app. My team uses this change in our app. Adam Comella Microsoft Corp. Closes https://github.com/facebook/react-native/pull/10902 Differential Revision: D4180149 Pulled By: ericvicenti fbshipit-source-id: 4bf0b9aa7dc221d838d7b6b3e88bb47196dcadef
This commit is contained in:
parent
191db90345
commit
e87e181998
@ -119,6 +119,10 @@ var Image = React.createClass({
|
|||||||
* Invoked on load start
|
* Invoked on load start
|
||||||
*/
|
*/
|
||||||
onLoadStart: PropTypes.func,
|
onLoadStart: PropTypes.func,
|
||||||
|
/**
|
||||||
|
* Invoked on load error
|
||||||
|
*/
|
||||||
|
onError: PropTypes.func,
|
||||||
/**
|
/**
|
||||||
* Invoked when load completes successfully
|
* Invoked when load completes successfully
|
||||||
*/
|
*/
|
||||||
@ -284,10 +288,10 @@ var Image = React.createClass({
|
|||||||
sources = source;
|
sources = source;
|
||||||
}
|
}
|
||||||
|
|
||||||
const {onLoadStart, onLoad, onLoadEnd} = this.props;
|
const {onLoadStart, onLoad, onLoadEnd, onError} = this.props;
|
||||||
const nativeProps = merge(this.props, {
|
const nativeProps = merge(this.props, {
|
||||||
style,
|
style,
|
||||||
shouldNotifyLoadEvents: !!(onLoadStart || onLoad || onLoadEnd),
|
shouldNotifyLoadEvents: !!(onLoadStart || onLoad || onLoadEnd || onError),
|
||||||
src: sources,
|
src: sources,
|
||||||
loadingIndicatorSrc: loadingIndicatorSource ? loadingIndicatorSource.uri : null,
|
loadingIndicatorSrc: loadingIndicatorSource ? loadingIndicatorSource.uri : null,
|
||||||
});
|
});
|
||||||
|
@ -255,7 +255,6 @@ const Image = React.createClass({
|
|||||||
onProgress: PropTypes.func,
|
onProgress: PropTypes.func,
|
||||||
/**
|
/**
|
||||||
* Invoked on load error with `{nativeEvent: {error}}`.
|
* Invoked on load error with `{nativeEvent: {error}}`.
|
||||||
* @platform ios
|
|
||||||
*/
|
*/
|
||||||
onError: PropTypes.func,
|
onError: PropTypes.func,
|
||||||
/**
|
/**
|
||||||
|
@ -178,6 +178,8 @@ public class ReactImageManager extends SimpleViewManager<ReactImageView> {
|
|||||||
MapBuilder.of("registrationName", "onLoadStart"),
|
MapBuilder.of("registrationName", "onLoadStart"),
|
||||||
ImageLoadEvent.eventNameForType(ImageLoadEvent.ON_LOAD),
|
ImageLoadEvent.eventNameForType(ImageLoadEvent.ON_LOAD),
|
||||||
MapBuilder.of("registrationName", "onLoad"),
|
MapBuilder.of("registrationName", "onLoad"),
|
||||||
|
ImageLoadEvent.eventNameForType(ImageLoadEvent.ON_ERROR),
|
||||||
|
MapBuilder.of("registrationName", "onError"),
|
||||||
ImageLoadEvent.eventNameForType(ImageLoadEvent.ON_LOAD_END),
|
ImageLoadEvent.eventNameForType(ImageLoadEvent.ON_LOAD_END),
|
||||||
MapBuilder.of("registrationName", "onLoadEnd"));
|
MapBuilder.of("registrationName", "onLoadEnd"));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user