Add onError to ReactDOMImg to complement onLoad
Andreas Svensson committed
Jan 9, 2014 at 17:23 UTC
cda1d8c779f589639fa8d33dbb63b6ec1b0edfce
3 files changed
+16
-1
src/browser/dom/components/ReactDOMImg.js
+7
-1
@@ -41,10 +41,16 @@ var ReactDOMImg = ReactCompositeComponent.createClass({
41
},
42
43
componentDidMount: function() {
44
+ var node = this.getDOMNode();
45
ReactEventEmitter.trapBubbledEvent(
46
EventConstants.topLevelTypes.topLoad,
47
'load',
47
- this.getDOMNode()
48
+ node
49
+ );
50
+ ReactEventEmitter.trapBubbledEvent(
51
+ EventConstants.topLevelTypes.topError,
52
+ 'error',
53
+ node
54
);
55
}
56
});
src/browser/eventPlugins/SimpleEventPlugin.js
+8
@@ -157,6 +157,12 @@ var eventTypes = {
157
captured: keyOf({onLoadCapture: true})
158
}
159
},
160
+ error: {
161
+ phasedRegistrationNames: {
162
+ bubbled: keyOf({onError: true}),
163
+ captured: keyOf({onErrorCapture: true})
164
+ }
165
+ },
166
// Note: We do not allow listening to mouseOver events. Instead, use the
167
// onMouseEnter/onMouseLeave created by `EnterLeaveEventPlugin`.
168
mouseDown: {
@@ -260,6 +266,7 @@ var topLevelEventsToDispatchConfig = {
266
topDragOver: eventTypes.dragOver,
267
topDragStart: eventTypes.dragStart,
268
topDrop: eventTypes.drop,
269
+ topError: eventTypes.error,
270
topFocus: eventTypes.focus,
271
topInput: eventTypes.input,
272
topKeyDown: eventTypes.keyDown,
@@ -327,6 +334,7 @@ var SimpleEventPlugin = {
334
switch (topLevelType) {
335
case topLevelTypes.topInput:
336
case topLevelTypes.topLoad:
337
+ case topLevelTypes.topError:
338
case topLevelTypes.topReset:
339
case topLevelTypes.topSubmit:
340
// HTML Events
src/event/EventConstants.js
+1
@@ -44,6 +44,7 @@ var topLevelTypes = keyMirror({
44
topDragOver: null,
45
topDragStart: null,
46
topDrop: null,
47
+ topError: null,
48
topFocus: null,
49
topInput: null,
50
topKeyDown: null,