Ext version tested:
  • Ext 4.0.2

  • 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


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 file, add the green code

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

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