Sha256: 686892d16d9b82c02132d43e8b6c1752096d4fe4868c4067fc0007f66f8f71be

Contents?: true

Size: 1.49 KB

Versions: 90

Compression:

Stored size: 1.49 KB

Contents

exports.removeElement = function(elem){
	if(elem.prev) elem.prev.next = elem.next;
	if(elem.next) elem.next.prev = elem.prev;

	if(elem.parent){
		var childs = elem.parent.children;
		childs.splice(childs.lastIndexOf(elem), 1);
	}
};

exports.replaceElement = function(elem, replacement){
	var prev = replacement.prev = elem.prev;
	if(prev){
		prev.next = replacement;
	}

	var next = replacement.next = elem.next;
	if(next){
		next.prev = replacement;
	}

	var parent = replacement.parent = elem.parent;
	if(parent){
		var childs = parent.children;
		childs[childs.lastIndexOf(elem)] = replacement;
	}
};

exports.appendChild = function(elem, child){
	child.parent = elem;

	if(elem.children.push(child) !== 1){
		var sibling = elem.children[elem.children.length - 2];
		sibling.next = child;
		child.prev = sibling;
		child.next = null;
	}
};

exports.append = function(elem, next){
	var parent = elem.parent,
		currNext = elem.next;

	next.next = currNext;
	next.prev = elem;
	elem.next = next;
	next.parent = parent;

	if(currNext){
		currNext.prev = next;
		if(parent){
			var childs = parent.children;
			childs.splice(childs.lastIndexOf(currNext), 0, next);
		}
	} else if(parent){
		parent.children.push(next);
	}
};

exports.prepend = function(elem, prev){
	var parent = elem.parent;
	if(parent){
		var childs = parent.children;
		childs.splice(childs.lastIndexOf(elem), 0, prev);
	}

	if(elem.prev){
		elem.prev.next = prev;
	}
	
	prev.parent = parent;
	prev.prev = elem.prev;
	prev.next = elem;
	elem.prev = prev;
};


Version data entries

90 entries across 68 versions & 14 rubygems

Version Path
trusty-cms-4.3.4 node_modules/domutils/lib/manipulation.js
trusty-cms-4.3.3 node_modules/domutils/lib/manipulation.js
trusty-cms-4.3.2 node_modules/domutils/lib/manipulation.js
trusty-cms-4.3.1 node_modules/domutils/lib/manipulation.js
trusty-cms-4.3 node_modules/domutils/lib/manipulation.js
trusty-cms-4.2.3 node_modules/domutils/lib/manipulation.js
tang-0.2.1 spec/tang_app/node_modules/domutils/lib/manipulation.js
trusty-cms-4.2.2 node_modules/domutils/lib/manipulation.js
groonga-client-model-6.0.0 test/apps/rails6.0.3.5/node_modules/domutils/lib/manipulation.js
groonga-client-model-6.0.0 test/apps/rails6.1.3/node_modules/domutils/lib/manipulation.js
ruby2js-4.0.4 lib/tasks/testrails/node_modules/domutils/lib/manipulation.js
ruby2js-4.0.3 lib/tasks/testrails/node_modules/domutils/lib/manipulation.js
trusty-cms-4.2.1 node_modules/domutils/lib/manipulation.js
trusty-cms-4.2 node_modules/domutils/lib/manipulation.js
trusty-cms-4.1.9 node_modules/domutils/lib/manipulation.js
trusty-cms-4.1.8 node_modules/domutils/lib/manipulation.js
tang-0.2.0 spec/tang_app/node_modules/domutils/lib/manipulation.js
trusty-cms-4.1.7 node_modules/domutils/lib/manipulation.js
tang-0.1.0 spec/tang_app/node_modules/domutils/lib/manipulation.js
tang-0.0.9 spec/tang_app/node_modules/domutils/lib/manipulation.js