Add onReset event for forms
Test Plan: Tested in Chrome and IE8.
Ben Alpert committed
Feb 10, 2014 at 11:12 UTC
30fd3a30b01881367d9c7fe92ca804062bcc501d
3 files changed
+14
src/browser/dom/components/ReactDOMForm.js
+5
@@ -43,6 +43,11 @@ var ReactDOMForm = ReactCompositeComponent.createClass({
43
},
44
45
componentDidMount: function() {
46
+ ReactEventEmitter.trapBubbledEvent(
47
+ EventConstants.topLevelTypes.topReset,
48
+ 'reset',
49
+ this.getDOMNode()
50
+ );
51
ReactEventEmitter.trapBubbledEvent(
52
EventConstants.topLevelTypes.topSubmit,
53
'submit',
src/browser/eventPlugins/SimpleEventPlugin.js
+8
@@ -195,6 +195,12 @@ var eventTypes = {
195
captured: keyOf({onPasteCapture: true})
196
}
197
},
198
+ reset: {
199
+ phasedRegistrationNames: {
200
+ bubbled: keyOf({onReset: true}),
201
+ captured: keyOf({onResetCapture: true})
202
+ }
203
+ },
204
scroll: {
205
phasedRegistrationNames: {
206
bubbled: keyOf({onScroll: true}),
@@ -266,6 +272,7 @@ var topLevelEventsToDispatchConfig = {
272
topMouseOver: eventTypes.mouseOver,
273
topMouseUp: eventTypes.mouseUp,
274
topPaste: eventTypes.paste,
275
+ topReset: eventTypes.reset,
276
topScroll: eventTypes.scroll,
277
topSubmit: eventTypes.submit,
278
topTouchCancel: eventTypes.touchCancel,
@@ -320,6 +327,7 @@ var SimpleEventPlugin = {
327
switch (topLevelType) {
328
case topLevelTypes.topInput:
329
case topLevelTypes.topLoad:
330
+ case topLevelTypes.topReset:
331
case topLevelTypes.topSubmit:
332
// HTML Events
333
// @see http://www.w3.org/TR/html5/index.html#events-0
src/event/EventConstants.js
+1
@@ -56,6 +56,7 @@ var topLevelTypes = keyMirror({
56
topMouseOver: null,
57
topMouseUp: null,
58
topPaste: null,
59
+ topReset: null,
60
topScroll: null,
61
topSelectionChange: null,
62
topSubmit: null,