Skip to content

Commit

Permalink
6049 add support for onCancel event
Browse files Browse the repository at this point in the history
  • Loading branch information
ludvigsen committed Mar 11, 2016
1 parent 6eda7d2 commit dca391b
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 0 deletions.
10 changes: 10 additions & 0 deletions src/renderers/dom/client/ReactBrowserEventEmitter.js
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ var topEventMapping = {
topAnimationIteration: getVendorPrefixedEventName('animationiteration') || 'animationiteration',
topAnimationStart: getVendorPrefixedEventName('animationstart') || 'animationstart',
topBlur: 'blur',
topCancel: 'cancel',
topCanPlay: 'canplay',
topCanPlayThrough: 'canplaythrough',
topChange: 'change',
Expand Down Expand Up @@ -318,6 +319,15 @@ var ReactBrowserEventEmitter = assign({}, ReactEventEmitterMixin, {
// to make sure blur and focus event listeners are only attached once
isListening[topLevelTypes.topBlur] = true;
isListening[topLevelTypes.topFocus] = true;
} else if (dependency === topLevelTypes.topCancel){
if (isEventSupported('cancel', true)) {
ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(
topLevelTypes.topCancel,
'cancel',
mountAt
);
}
isListening[topLevelTypes.topCancel] = true;
} else if (topEventMapping.hasOwnProperty(dependency)) {
ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(
dependency,
Expand Down
1 change: 1 addition & 0 deletions src/renderers/dom/client/eventPlugins/ChangeEventPlugin.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ var eventTypes = {
},
dependencies: [
topLevelTypes.topBlur,
topLevelTypes.topCancel,
topLevelTypes.topChange,
topLevelTypes.topClick,
topLevelTypes.topFocus,
Expand Down
8 changes: 8 additions & 0 deletions src/renderers/dom/client/eventPlugins/SimpleEventPlugin.js
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,12 @@ var eventTypes = {
captured: keyOf({onBlurCapture: true}),
},
},
cancel: {
phasedRegistrationNames: {
bubbled: keyOf({onCancel: null}),
captured: keyOf({onCancelCapture: true}),
},
},
canPlay: {
phasedRegistrationNames: {
bubbled: keyOf({onCanPlay: true}),
Expand Down Expand Up @@ -417,6 +423,7 @@ var topLevelEventsToDispatchConfig = {
topAnimationIteration: eventTypes.animationIteration,
topAnimationStart: eventTypes.animationStart,
topBlur: eventTypes.blur,
topCancel: eventTypes.cancel,
topCanPlay: eventTypes.canPlay,
topCanPlayThrough: eventTypes.canPlayThrough,
topClick: eventTypes.click,
Expand Down Expand Up @@ -500,6 +507,7 @@ var SimpleEventPlugin = {
var EventConstructor;
switch (topLevelType) {
case topLevelTypes.topAbort:
case topLevelTypes.topCancel:
case topLevelTypes.topCanPlay:
case topLevelTypes.topCanPlayThrough:
case topLevelTypes.topDurationChange:
Expand Down
1 change: 1 addition & 0 deletions src/renderers/shared/event/EventConstants.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ var topLevelTypes = keyMirror({
topAnimationIteration: null,
topAnimationStart: null,
topBlur: null,
topCancel: null,
topCanPlay: null,
topCanPlayThrough: null,
topChange: null,
Expand Down

0 comments on commit dca391b

Please sign in to comment.