0.1.11 • Published 7 years ago

react-contextmenu-component v0.1.11

Weekly downloads
15
License
MIT
Repository
github
Last release
7 years ago

React-ContextMenu-Component

npm version npm

React component that adds a context menu to any component

Install

npm install react-contextmenu-component --save
# OR
yarn add react-contextmenu-component

Quick start

The only component needed to add a context menu is <ContextMenu />. To use it, simply wrap the component that needs to have a context menu with the ContextMenu component like so :

import ContextMenu from 'react-contextmenu-component';

<ContextMenu
  id="some-id"
  options={[]}
>
  <p>I'm inside a div with a context menu :)</p>
</ContextMenu>

ContextMenu required props

The ContextMenu component has to have the following props :

id - string

id defines the identifier that allows to check if the right click has been made on the given ContextMenu component.

options - array

options defines all the options that have to be shown in the context menu. It is an array of arrays of option (see below). Each array in options will be rendered as a block followed by a separator.

option

An option is a single item rendered in the context menu. It contains the following properties :

PropertyTypeExplanationDefault
labelstringLabel of the option, as seen in the context menu.N/A
onClickfuncFunction to fire when the option is option is clickedno op
disabledbooleanWhether the option is disabledfalse
classNamestringName of the CSS class to apply on this given option""

ContextMenu optional props

The ContextMenu component can have the following props :

onClick

onClick defines the method to fire when the div is left clicked.

className

className defines the CSS class(es) to use on the rendered div, which allows to easily style your component.

Style

The context menu is easy to style; all you have to do is override the following classes :

classComponent aimed
.contextMenuThe whole context menu
.contextMenu--option:hover | :active | __disabledOne option of the context menu
.contextMenu--separatorA separator

Try it

Run the sample app with the following commands

  git clone https://github.com/TotemaT/React-ContextMenu-Component
  cd React-ContextMenu-Component-Example/sample
  npm start

Screenshots

The div shown underneath is rendered using <ContextMenu /> :

Context Menu before click

The context menu is shown after a right click :

Context Menu after right click

The item is hovered :

Context Menu item hovered

The delete item has a special class making it red :

Context Menu item with special css class

Thanks

Todo

  • Test ContextMenu
  • Test ContextMenuItem
  • Test ContextMenuList
  • Test ContextMenuSeparator (or not)
  • Publish on npm
  • Write a quick start guide
  • Add a sample
  • Add screenshots
0.1.11

7 years ago

0.1.10

7 years ago

0.1.9

7 years ago

0.1.8

7 years ago

0.1.7

7 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago