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);
};