|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- 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;
- };
-
-
|