dist/jquery.fancytree-all-deps.js
function(patch) {
			// patch [key, null] means 'remove'
			if (patch === null) {
				this.remove();
				return _getResolvedPromise(this);
			}
			// TODO: make sure that root node is not collapsed or modified
			// copy (most) attributes to node.ATTR or node.data.ATTR
			var name,
				promise,
				v,
				IGNORE_MAP = { children: true, expanded: true, parent: true }; // TODO: should be global

			for (name in patch) {
				v = patch[name];
				if (!IGNORE_MAP[name] && !$.isFunction(v)) {
					if (NODE_ATTR_MAP[name]) {
						this[name] = v;
					} else {
						this.data[name] = v;
					}
				}
			}
			// Remove and/or create children
			if (patch.hasOwnProperty("children")) {
				this.removeChildren();
				if (patch.children) {
					// only if not null and not empty list
					// TODO: addChildren instead?
					this._setChildren(patch.children);
				}
				// TODO: how can we APPEND or INSERT child nodes?
			}
			if (this.isVisible()) {
				this.renderTitle();
				this.renderStatus();
			}
			// Expand collapse (final step, since this may be async)
			if (patch.hasOwnProperty("expanded")) {
				promise = this.setExpanded(patch.expanded);
			} else {
				promise = _getResolvedPromise(this);
			}
			return promise;
		}
function(patch) {
			// patch [key, null] means 'remove'
			if (patch === null) {
				this.remove();
				return _getResolvedPromise(this);
			}
			// TODO: make sure that root node is not collapsed or modified
			// copy (most) attributes to node.ATTR or node.data.ATTR
			var name,
				promise,
				v,
				IGNORE_MAP = { children: true, expanded: true, parent: true }; // TODO: should be global

			for (name in patch) {
				v = patch[name];
				if (!IGNORE_MAP[name] && !$.isFunction(v)) {
					if (NODE_ATTR_MAP[name]) {
						this[name] = v;
					} else {
						this.data[name] = v;
					}
				}
			}
			// Remove and/or create children
			if (patch.hasOwnProperty("children")) {
				this.removeChildren();
				if (patch.children) {
					// only if not null and not empty list
					// TODO: addChildren instead?
					this._setChildren(patch.children);
				}
				// TODO: how can we APPEND or INSERT child nodes?
			}
			if (this.isVisible()) {
				this.renderTitle();
				this.renderStatus();
			}
			// Expand collapse (final step, since this may be async)
			if (patch.hasOwnProperty("expanded")) {
				promise = this.setExpanded(patch.expanded);
			} else {
				promise = _getResolvedPromise(this);
			}
			return promise;
		}
function ( patch ) { // patch [key, null] means 'remove' if ( patch === null ) { this . remove ( ) ; return _getResolvedPromise ( this ) ; } // TODO: make sure that root node is not collapsed or modified // copy (most) attributes to node.ATTR or node.data.ATTR var name , promise , v , IGNORE_MAP = { children : true , expanded : true , parent : true } ; // TODO: should be global for ( name in patch ) { v = patch [ name ] ; if ( ! IGNORE_MAP [ name ] && ! $ . isFunction ( v ) ) { if ( NODE_ATTR_MAP [ name ] ) { this [ name ] = v ; } else { this . data [ name ] = v ; } } } // Remove and/or create children if ( patch . hasOwnProperty ( "children" ) ) { this . removeChildren ( ) ; if ( patch . children ) { // only if not null and not empty list // TODO: addChildren instead? this . _setChildren ( patch . children ) ; } // TODO: how can we APPEND or INSERT child nodes? } if ( this . isVisible ( ) ) { this . renderTitle ( ) ; this . renderStatus ( ) ; } // Expand collapse (final step, since this may be async) if ( patch . hasOwnProperty ( "expanded" ) ) { promise = this . setExpanded ( patch . expanded ) ; } else { promise = _getResolvedPromise ( this ) ; } return promise ; }
Modify existing child nodes.

@param {NodePatch} patch
@returns {$.Promise}
@see FancytreeNode#addChildren
Modify existing child nodes .