diff options
Diffstat (limited to 'bin/wiki/ImportarDesdeURL/node_modules/domutils/lib/manipulation.js')
-rw-r--r-- | bin/wiki/ImportarDesdeURL/node_modules/domutils/lib/manipulation.js | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/bin/wiki/ImportarDesdeURL/node_modules/domutils/lib/manipulation.js b/bin/wiki/ImportarDesdeURL/node_modules/domutils/lib/manipulation.js new file mode 100644 index 00000000..6b44cbc5 --- /dev/null +++ b/bin/wiki/ImportarDesdeURL/node_modules/domutils/lib/manipulation.js @@ -0,0 +1,77 @@ +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; +}; + + |