From d61371fbc5ba88be06b87aa666a4e5efa0cb10de Mon Sep 17 00:00:00 2001 From: Leif Andersen Date: Wed, 5 Jan 2022 16:05:07 -0500 Subject: [PATCH] Patch to make dnd work in firefox. --- src/Hexagon/Hexagon.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Hexagon/Hexagon.js b/src/Hexagon/Hexagon.js index c2c7c6e..6d1632c 100644 --- a/src/Hexagon/Hexagon.js +++ b/src/Hexagon/Hexagon.js @@ -16,6 +16,7 @@ class Hexagon extends Component { ]), className: PropTypes.string, data: PropTypes.object, + onMouseDown: PropTypes.func, onMouseEnter: PropTypes.func, onMouseOver: PropTypes.func, onMouseLeave: PropTypes.func, @@ -49,6 +50,11 @@ class Hexagon extends Component { const pixel = HexUtils.hexToPixel(hex, layout); this.setState({ hex, pixel }); } + onMouseDown(e) { + if (this.props.onMouseDown) { + this.props.onMouseDown(e, this); + } + } onMouseEnter(e) { if (this.props.onMouseEnter) { this.props.onMouseEnter(e, this); @@ -96,8 +102,9 @@ class Hexagon extends Component { onDrop(e) { if (this.props.onDrop) { e.preventDefault(); - const target = JSON.parse(e.dataTransfer.getData('hexagon')); - this.props.onDrop(e, this, target); + //const target = JSON.parse(e.dataTransfer.getData('hexagon')); + //this.props.onDrop(e, this, target); + this.props.onDrop(e, this, null); } } render() { @@ -110,6 +117,7 @@ class Hexagon extends Component { className={classNames('hexagon-group', className)} transform={`translate(${pixel.x}, ${pixel.y})`} draggable="true" + onMouseDown={e => this.onMouseDown(e)} onMouseEnter={e => this.onMouseEnter(e)} onMouseOver={e => this.onMouseOver(e)} onMouseLeave={e => this.onMouseLeave(e)}