From bec56a99b5f85bae51a63d0d3ae104988ed70e3f Mon Sep 17 00:00:00 2001 From: Alain Dumesny Date: Mon, 17 Aug 2020 09:22:04 -0700 Subject: [PATCH] TS: tweaks to 'removed' callback *make sure we remove drag&drop handler * reset el.gridstackNode before callback to let callee know it's going away. * Only remove if not already done. --- src/gridstack.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gridstack.ts b/src/gridstack.ts index 92e9765b2..08f1413ff 100644 --- a/src/gridstack.ts +++ b/src/gridstack.ts @@ -1348,9 +1348,12 @@ export class GridStack { gridToNotify._gsEventHandler[event.type](event, target); } gridToNotify.engine.removedNodes.push(node); + gridToNotify.dd.draggable(el, 'destroy').resizable(el, 'destroy'); + delete el.gridstackNode; // hint we're removing it next and break circular link gridToNotify._triggerRemoveEvent(); - delete el.gridstackNode; - el.remove(); + if (el.parentElement) { + el.remove(); // finally remove it + } } else { this._clearRemovingTimeout(el); if (!node._temporaryRemoved) {