REQUIRED INFORMATION


Ext version tested:
  • Ext 4.0.2

Description:
  • Calling the node destroy method after having remove the node from its parent does not notify the server to delete the node.

Steps to reproduce the problem:
  • Create a tree node using a model that has a correctly configured proxy
  • Remove the tree node from its parent node
  • Call the tree node's destroy method

The result that was expected:
  • A request notifying the server to delete the node

The result that occurs instead:
  • Nothing


HELPFUL INFORMATION


Debugging already done:
  • The Node Interface's destroy method calls the node's remove to remove this node from its parent. If this node has already been removed from its parent, this method simply returns.

Possible fix:

In the Ext.data.NodeInterface file, add the green code

Code:
remove : function(destroy, suppressEvents) {
	var parentNode = this.parentNode;

	if (parentNode) {
		parentNode.removeChild(this, destroy, suppressEvents, true);
	} else if (destroy) {
		this.destroy(true);
	}
	return this;
},