Add support for `oncontextmenu` in React.
Mouad Debbar committed
Nov 11, 2013 at 16:22 UTC
1ffe2d0927a395c53215fadb78ceffee99f87574
3 files changed
+10
src/core/ReactEventEmitter.js
+1
@@ -241,6 +241,7 @@ var ReactEventEmitter = merge(ReactEventEmitterMixin, {
241
trapBubbledEvent(topLevelTypes.topMouseOut, 'mouseout', mountAt);
242
trapBubbledEvent(topLevelTypes.topClick, 'click', mountAt);
243
trapBubbledEvent(topLevelTypes.topDoubleClick, 'dblclick', mountAt);
244
+ trapBubbledEvent(topLevelTypes.topContextMenu, 'contextmenu', mountAt);
245
if (touchNotMouse) {
246
trapBubbledEvent(topLevelTypes.topTouchStart, 'touchstart', mountAt);
247
trapBubbledEvent(topLevelTypes.topTouchEnd, 'touchend', mountAt);
src/event/EventConstants.js
+1
@@ -32,6 +32,7 @@ var topLevelTypes = keyMirror({
32
topCompositionEnd: null,
33
topCompositionStart: null,
34
topCompositionUpdate: null,
35
+ topContextMenu: null,
36
topCopy: null,
37
topCut: null,
38
topDoubleClick: null,
src/eventPlugins/SimpleEventPlugin.js
+8
@@ -47,6 +47,12 @@ var eventTypes = {
47
captured: keyOf({onClickCapture: true})
48
}
49
},
50
+ contextMenu: {
51
+ phasedRegistrationNames: {
52
+ bubbled: keyOf({onContextMenu: true}),
53
+ captured: keyOf({onContextMenuCapture: true})
54
+ }
55
+ },
56
copy: {
57
phasedRegistrationNames: {
58
bubbled: keyOf({onCopy: true}),
@@ -216,6 +222,7 @@ var eventTypes = {
222
var topLevelEventsToDispatchConfig = {
223
topBlur: eventTypes.blur,
224
topClick: eventTypes.click,
225
+ topContextMenu: eventTypes.contextMenu,
226
topCopy: eventTypes.copy,
227
topCut: eventTypes.cut,
228
topDoubleClick: eventTypes.doubleClick,
@@ -306,6 +313,7 @@ var SimpleEventPlugin = {
313
return null;
314
}
315
/* falls through */
316
+ case topLevelTypes.topContextMenu:
317
case topLevelTypes.topDoubleClick:
318
case topLevelTypes.topDrag:
319
case topLevelTypes.topDragEnd: