@@ -827,7 +827,7 @@ export class GridStack {
827827 * @param el widget or selector to modify
828828 * @param detachNode if false DOM node won't be removed from the tree (Default? true).
829829 */
830- public removeWidget ( els : GridStackElement , detachNode ?: boolean ) : GridStack {
830+ public removeWidget ( els : GridStackElement , detachNode = true ) : GridStack {
831831 this . getElements ( els ) . forEach ( el => {
832832 if ( el . parentElement !== this . el ) return ; // not our child!
833833 let node = el . gridstackNode ;
@@ -841,7 +841,7 @@ export class GridStack {
841841 delete el . gridstackNode ;
842842 this . dd . draggable ( el , 'destroy' ) . resizable ( el , 'destroy' ) ;
843843
844- this . engine . removeNode ( node , detachNode ) ;
844+ this . engine . removeNode ( node , detachNode , true ) ; // true for trigger event
845845 } ) ;
846846 this . _triggerRemoveEvent ( ) ;
847847 this . _triggerChangeEvent ( ) ;
@@ -1165,9 +1165,9 @@ export class GridStack {
11651165 let node = el . gridstackNode ;
11661166 if ( ! node || ! node . _removeTimeout ) return this ;
11671167 clearTimeout ( node . _removeTimeout ) ;
1168- node . _removeTimeout = null ;
1168+ delete node . _removeTimeout ;
11691169 el . classList . remove ( 'grid-stack-item-removing' ) ;
1170- node . _isAboutToRemove = false ;
1170+ delete node . _isAboutToRemove ;
11711171 return this ;
11721172 }
11731173
@@ -1257,7 +1257,7 @@ export class GridStack {
12571257 this . _writeAttrs ( this . placeholder , x , y , width , height ) ;
12581258 this . el . appendChild ( this . placeholder ) ;
12591259 node . el = this . placeholder ;
1260- node . _temporaryRemoved = false ;
1260+ delete node . _temporaryRemoved ;
12611261 }
12621262 }
12631263 } else if ( event . type === 'resize' ) {
@@ -1295,6 +1295,7 @@ export class GridStack {
12951295 if ( gridToNotify . _gsEventHandler [ event . type ] ) {
12961296 gridToNotify . _gsEventHandler [ event . type ] ( event , target ) ;
12971297 }
1298+ gridToNotify . engine . removedNodes . push ( node ) ;
12981299 gridToNotify . _triggerRemoveEvent ( ) ;
12991300 delete el . gridstackNode ;
13001301 el . remove ( ) ;
@@ -1308,7 +1309,7 @@ export class GridStack {
13081309 this . _writeAttrs ( target , node . _beforeDragX , node . _beforeDragY , node . width , node . height ) ;
13091310 node . x = node . _beforeDragX ;
13101311 node . y = node . _beforeDragY ;
1311- node . _temporaryRemoved = false ;
1312+ delete node . _temporaryRemoved ;
13121313 this . engine . addNode ( node ) ;
13131314 }
13141315 if ( this . _gsEventHandler [ event . type ] ) {
@@ -1475,7 +1476,7 @@ export class GridStack {
14751476 this . column ( 1 ) ;
14761477 } else {
14771478 if ( ! this . _oneColumnMode ) { return this }
1478- this . _oneColumnMode = false ;
1479+ delete this . _oneColumnMode ;
14791480 this . column ( this . _prevColumn ) ;
14801481 }
14811482 return this ;
@@ -1499,7 +1500,7 @@ export class GridStack {
14991500 . on ( trashZone , 'dropout' , ( event , el ) => {
15001501 let node = el . gridstackNode ;
15011502 if ( ! node || node . _grid !== this ) return ;
1502- el . dataset . inTrashZone = 'false' ;
1503+ delete el . dataset . inTrashZone ;
15031504 this . _clearRemovingTimeout ( el ) ;
15041505 } ) ;
15051506 }
0 commit comments