diff --git a/src/components/GridItem/GridItem.js b/src/components/GridItem/GridItem.js index 23766d9..d7aea94 100644 --- a/src/components/GridItem/GridItem.js +++ b/src/components/GridItem/GridItem.js @@ -38,7 +38,7 @@ class GridItem extends React.PureComponent { static contextType = DashKitContext; renderOverlay() { - const {overlayControls} = this.props; + const {overlayControls, isDragging} = this.props; const {editMode} = this.context; if (!editMode || this.props.item.data._editActive) { @@ -54,6 +54,7 @@ class GridItem extends React.PureComponent { diff --git a/src/components/OverlayControls/OverlayControls.tsx b/src/components/OverlayControls/OverlayControls.tsx index d0f4d85..93197f4 100644 --- a/src/components/OverlayControls/OverlayControls.tsx +++ b/src/components/OverlayControls/OverlayControls.tsx @@ -61,6 +61,7 @@ interface OverlayControlsDefaultProps { } interface OverlayControlsProps extends OverlayControlsDefaultProps { + isDragging?: boolean; configItem: ConfigItem; items?: OverlayControlItem[]; overlayControls?: Record; @@ -320,6 +321,11 @@ class OverlayControls extends React.Component { this.context.editItem(this.props.configItem); }; private onRemoveItem = () => { + // Otherwise it will crush an app dute to the issue in react-grid-layout + // https://github.com/react-grid-layout/react-grid-layout/issues/1836 + if (this.props.isDragging) { + return; + } const {id} = this.props.configItem; this.context.removeItem(id); };