MCPcopy Index your code
hub / github.com/gridstack/gridstack.js / removeNode

Method removeNode

src/gridstack-engine.ts:790–804  ·  view source on GitHub ↗

* Remove the given node from the grid. * * @param node the node to remove * @param removeDOM if true (default), marks node for DOM removal * @param triggerEvent if true, adds node to removedNodes list for event triggering * @returns the engine instance for chaining * * @example

(node: GridStackNode, removeDOM = true, triggerEvent = false)

Source from the content-addressed store, hash-verified

788 * engine.removeNode(node, true, true);
789 */
790 public removeNode(node: GridStackNode, removeDOM = true, triggerEvent = false): GridStackEngine {
791 if (!this.nodes.find(n => n._id === node._id)) {
792 // TEST console.log(`Error: GridStackEngine.removeNode() node._id=${node._id} not found!`)
793 return this;
794 }
795 if (triggerEvent) { // we wait until final drop to manually track removed items (rather than during drag)
796 this.removedNodes.push(node);
797 }
798 if (removeDOM) node._removeDOM = true; // let CB remove actual HTML (used to set _id to null, but then we loose layout info)
799 // don't use 'faster' .splice(findIndex(),1) in case node isn't in our list, or in multiple times.
800 this.nodes = this.nodes.filter(n => n._id !== node._id);
801 if (!node._isAboutToRemove) this._packNodes(); // if dragged out, no need to relayout as already done...
802 this._notify([node]);
803 return this;
804 }
805
806 /**
807 * Remove all nodes from the grid.

Callers 3

removeWidgetMethod · 0.80
cancelDragMethod · 0.80
_leaveMethod · 0.80

Calls 3

_packNodesMethod · 0.95
_notifyMethod · 0.95
findMethod · 0.80

Tested by

no test coverage detected