From 30fd3a30b01881367d9c7fe92ca804062bcc501d Mon Sep 17 00:00:00 2001 From: Ben Alpert Date: Mon, 10 Feb 2014 11:12:26 -0800 Subject: [PATCH] Add onReset event for forms Test Plan: Tested in Chrome and IE8. --- src/browser/dom/components/ReactDOMForm.js | 5 +++++ src/browser/eventPlugins/SimpleEventPlugin.js | 8 ++++++++ src/event/EventConstants.js | 1 + 3 files changed, 14 insertions(+) diff --git a/src/browser/dom/components/ReactDOMForm.js b/src/browser/dom/components/ReactDOMForm.js index c45696084b..5477d27dbb 100644 --- a/src/browser/dom/components/ReactDOMForm.js +++ b/src/browser/dom/components/ReactDOMForm.js @@ -43,6 +43,11 @@ var ReactDOMForm = ReactCompositeComponent.createClass({ }, componentDidMount: function() { + ReactEventEmitter.trapBubbledEvent( + EventConstants.topLevelTypes.topReset, + 'reset', + this.getDOMNode() + ); ReactEventEmitter.trapBubbledEvent( EventConstants.topLevelTypes.topSubmit, 'submit', diff --git a/src/browser/eventPlugins/SimpleEventPlugin.js b/src/browser/eventPlugins/SimpleEventPlugin.js index 28129438dc..d093238bbd 100644 --- a/src/browser/eventPlugins/SimpleEventPlugin.js +++ b/src/browser/eventPlugins/SimpleEventPlugin.js @@ -195,6 +195,12 @@ var eventTypes = { captured: keyOf({onPasteCapture: true}) } }, + reset: { + phasedRegistrationNames: { + bubbled: keyOf({onReset: true}), + captured: keyOf({onResetCapture: true}) + } + }, scroll: { phasedRegistrationNames: { bubbled: keyOf({onScroll: true}), @@ -266,6 +272,7 @@ var topLevelEventsToDispatchConfig = { topMouseOver: eventTypes.mouseOver, topMouseUp: eventTypes.mouseUp, topPaste: eventTypes.paste, + topReset: eventTypes.reset, topScroll: eventTypes.scroll, topSubmit: eventTypes.submit, topTouchCancel: eventTypes.touchCancel, @@ -320,6 +327,7 @@ var SimpleEventPlugin = { switch (topLevelType) { case topLevelTypes.topInput: case topLevelTypes.topLoad: + case topLevelTypes.topReset: case topLevelTypes.topSubmit: // HTML Events // @see http://www.w3.org/TR/html5/index.html#events-0 diff --git a/src/event/EventConstants.js b/src/event/EventConstants.js index 03066a00f6..c77b01ec1c 100644 --- a/src/event/EventConstants.js +++ b/src/event/EventConstants.js @@ -56,6 +56,7 @@ var topLevelTypes = keyMirror({ topMouseOver: null, topMouseUp: null, topPaste: null, + topReset: null, topScroll: null, topSelectionChange: null, topSubmit: null,