X Tutup
Skip to content

Commit edcb34d

Browse files
committed
fix(dom_renderer): moveNodeAfterSiblings should not detach the reference node
Fixes angular#5077 Closes angular#5759
1 parent 693d9dc commit edcb34d

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

modules/angular2/src/platform/dom/dom_renderer.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -365,11 +365,18 @@ function resolveInternalDomFragment(fragmentRef: RenderFragmentRef): Node[] {
365365
}
366366

367367
function moveNodesAfterSibling(sibling, nodes) {
368-
if (nodes.length > 0 && isPresent(DOM.parentElement(sibling))) {
369-
for (var i = 0; i < nodes.length; i++) {
370-
DOM.insertBefore(sibling, nodes[i]);
368+
var parent = DOM.parentElement(sibling);
369+
if (nodes.length > 0 && isPresent(parent)) {
370+
var nextSibling = DOM.nextSibling(sibling);
371+
if (isPresent(nextSibling)) {
372+
for (var i = 0; i < nodes.length; i++) {
373+
DOM.insertBefore(nextSibling, nodes[i]);
374+
}
375+
} else {
376+
for (var i = 0; i < nodes.length; i++) {
377+
DOM.appendChild(parent, nodes[i]);
378+
}
371379
}
372-
DOM.insertBefore(nodes[0], sibling);
373380
}
374381
}
375382

0 commit comments

Comments
 (0)
X Tutup