The module exports the following:
ContextMenu
ContextMenuTrigger
MenuItem
SubMenu
Base Contextmenu Component.
Property | Type | Required? | Description |
---|---|---|---|
id | String | ✓ | A unique identifier for a menu. |
hideOnLeave | Boolean | Hides the context menu on mouse leave. | |
onMouseLeave | Function | Callback called when the mouse leaves the menu or submenu areas. | |
onHide | Function | Callback called when the menu is hidden. | |
onShow | Function | Callback called when the menu is shown. | |
preventHideOnContextMenu | Boolean | Prevents hiding of the context menu on contextMenu event. | |
preventHideOnResize | Boolean | Prevents hiding of the context menu on resize event. | |
preventHideOnScroll | Boolean | Prevents hiding of the context menu on scroll event. | |
className | String | Custom className applied to root element of the context-menu. |
Contextmenu Trigger Component
Property | Type | Required? | Default | Description |
---|---|---|---|---|
id | String | ✓ | The unique identifier of the menu to be called. | |
attributes | Object | The attributes will be passed directly passed to the root element of component. Use this to customize it like adding custom classes, adding colspan etc. |
||
collect | Function | A simple function which takes props as input and returns the data to be passed to contextmenu. |
||
disable | Boolean | false |
Prop to ignore right clicks and display the default browser context menu. | |
holdToDisplay | Number | 1000 |
This is applicable only for touch screens. The time (in ms) for which, user has to hold down his/her finger before the menu is shown. Note: To disable the long press trigger on left-click just set a negative holdToDisplay value such as -1 |
|
renderTag | String or React Element | The element inside which the Component must be wrapped. By default div is used. But this prop can used to customize it. |
||
disableIfShiftIsPressed | Boolean | false |
If true and shift is pressed, it will open the native browser context menu and ignore this custom component | |
triggerOnLeftClick | Boolean | false |
If true, the menu will open with the left click in addition to the right click (or ctrl + click on MacOS) |
A Simple Component for menu items.
Property | Type | Required? | Default | Description |
---|---|---|---|---|
onClick | Function | ✓ | The function to be called on click of item. The function will receive three parameters. The first is event object. The second is the merged data passed using props.data and collect from ContextMenuTrigger . The third is the element on which right-click occured. |
|
data | Object | {} |
The extra data (if required) to be passed to onClick event. |
|
disabled | Boolean | false |
If true , disables the click event and adds .disabled class. |
|
preventClose | Boolean | false |
By default, the context menu is closed as soon as an item is clicked. Set this prop to control this behavior. | |
attributes | Object | The attributes will be passed directly passed to the root element of MenuItem . Use this to customize it like adding custom classes (className , disabledClassName , dividerClassName and selectedClassName ), etc. |
||
selected | boolean | false |
Internal Prop: will be set from the surrounded context ContextMenu or SubMenu . If set to true the css class react-contextmenu-item--selected will be added to associated element. |
|
onMouseMove | Function | Internal Prop: will be directly passed to associated element, so the surrounded context ContextMenu or SubMenu can handle the interactions to pass the correct selected state. Also the surrounded context can store the current selected MenuItem . |
||
onMouseLeave | Function | Internal Prop: will be directly passed to associated element, so the surrounded context ContextMenu or SubMenu can handle the interactions to pass the correct selected state. Also the surrounded context can store the current selected MenuItem . |
A component for using submenus within the contextmenu.
Property | Type | Required? | Default | Description |
---|---|---|---|---|
title | String | ✓ | The content to be displayed in parent menu. | |
disabled | Boolean | false |
If true , disables the menu from opening and adds .disabled class. |
|
hoverDelay | Number | 500 |
The time (in ms) after which the menu is to be displayed when hovered upon. | |
className | String | Custom className applied to root element of the context-menu. |
||
attributes | Object | The attributes will be passed directly passed to the root element of SubMenu . Use this to customize it like adding custom classes (className , disabledClassName , visibleClassName , selectedClassName and listClassName ), etc. |
||
selected | boolean | false |
Internal Prop: will be set from the surrounded context ContextMenu or SubMenu . If set to true the css class react-contextmenu-item--selected will be added to associated element. |
|
onClick | Function | The function to be called on click of SubMenu . The function will receive three parameters. The first is event object. The second is the merged data passed using props.data and collect from ContextMenuTrigger . The third is the element on which right-click occured. |
||
onMouseMove | Function | Internal Prop: will be directly passed to associated element, so the surrounded context ContextMenu or SubMenu can handle the interactions to pass the correct selected state. Also the surrounded context can store the current selected SubMenu entry. |
||
onMouseOut | Function | Internal Prop: will be directly passed to associated element, so the surrounded context ContextMenu or SubMenu can handle the interactions to pass the correct selected state. Also the surrounded context can store the current selected SubMenu entry. |
||
preventCloseOnClick | Boolean | false |
Prevent the context-menu to close when clicking on this SubMenu . |
|
forceOpen | boolean | false |
Internal Prop: if the user hits enter or the right arrow key on a selected SubMenu entry, the surrounded context will pass true to this flag. The SubMenu stays open until this flag is false . |
|
forceClose | Function | Internal Prop: if the user hits the escape key during an open SubMenu , this function will be called to indicate the surrounding context to reset the forceOpen flag. |
||
parentKeyNavigationHandler | Function | Internal Prop: the keydown handler from the surrounding context will be passed to every open SubMenu . Then the Submenu will unregister the referenced handler and use it's own for key control. When the SubMenu hides again the original handler will be restored. |