Skip to content

This is a fork of the original react-contextmenu, to fix a few bugs that were impairing the Firefox Profiler.

License

Notifications You must be signed in to change notification settings

firefox-devtools/react-contextmenu

 
 

Repository files navigation

React Contextmenu

ContextMenu in React with accessibility support. Live Examples can be found here

This is a fork from the original project for use with the firefox profiler. We don't intend to add new features but will fix issues with the existing code, and sometimes change it for our usage. We hope it can be useful for more projects.

Thanks Vivek Kumar Bansal for all the good work put in this project.

Table of contents

Installation

Using npm

npm install --save @firefox-devtools/react-contextmenu

Using yarn

yarn add @firefox-devtools/react-contextmenu

Browser Support

  • Edge >= 94
  • FireFox >= 91 and 78
  • Chrome >= 92
  • Opera >= 79
  • Safari >= 13.1

Usage

Simple example

import React from "react";
import ReactDOM from "react-dom";
import { ContextMenu, MenuItem, ContextMenuTrigger } from "@firefox-devtools/react-contextmenu";

function handleClick(e, data) {
  console.log(data.foo);
}

function MyApp() {
  return (
    <div>
      {/* NOTICE: id must be unique between EVERY <ContextMenuTrigger> and <ContextMenu> pair */}
      {/* NOTICE: inside the pair, <ContextMenuTrigger> and <ContextMenu> must have the same id */}

      <ContextMenuTrigger id="same_unique_identifier">
        <div className="well">Right click to see the menu</div>
      </ContextMenuTrigger>

      <ContextMenu id="same_unique_identifier">
        <MenuItem data={{foo: 'bar'}} onClick={this.handleClick}>
          ContextMenu Item 1
        </MenuItem>
        <MenuItem data={{foo: 'bar'}} onClick={this.handleClick}>
          ContextMenu Item 2
        </MenuItem>
        <MenuItem divider />
        <MenuItem data={{foo: 'bar'}} onClick={this.handleClick}>
          ContextMenu Item 3
        </MenuItem>
      </ContextMenu>

    </div>
  );
}

ReactDOM.render(<MyApp myProp={12}/>, document.getElementById("main"));

see usage docs / examples for more details.

API

API docs

FAQs

ALL FAQs

Who's using react-contextmenu?

Contributors

All Contributors

Changelog

For Changelog, see releases For the changelog from before the fork, see releases

License

MIT. Copyright(c) Vivek Kumar Bansal

About

This is a fork of the original react-contextmenu, to fix a few bugs that were impairing the Firefox Profiler.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%