Попытка показать контекстное меню на событии правой кнопки мыши

Я поспешил, потому что я пытаюсь реализовать событие, которое показывает контекстное меню, когда пользователь щелкает правой кнопкой мыши на узле или на краю своего графика. Я пробовал разные подходы (используя ref для доступа к функциям API, таким как getPositions или функция getNodeAt), но, похоже, никто не работал. Это упрощение компонента, с которым я работаю:

export class MainPage extends Component {
constructor(props) {
super(props)

    this.state = {
        graph: {
            nodes: [
                {id: 1, label: "Twitter texts"},
                {id: 2, label: "Reddit comments"},
                {id: 3, label: "Reddit submissions"}
            ],
            edges: []
        },
        options: {
            layout: {
                hierarchical: {
                    levelSeparation: 150,
                    nodeSpacing: 150,
                }
            },
            edges: {
                color: "#000000"
            },
            height: '1000px',
            width: '1300px'
        },
        events: {
            oncontext: this.right_click,
        }
    }
}
right_click = (event) => {
   //show popup...
}
render() {
    return (
                    <div id={"mygraph"}>
                        <Graph
                            graph={this.state.graph}
                            options={this.state.options}
                            events={this.state.events}
                            ref={ref => (this.g = ref)}
                        />;
                    </div>
    )
}
}

Я буду признателен за любую помощь. С наилучшими пожеланиями

0 ответов

Другие вопросы по тегам