From 86d656bc678df1604f2277e6846b4e860e3efdc7 Mon Sep 17 00:00:00 2001 From: Pawel Kozlowski Date: Thu, 7 Nov 2019 11:42:58 +0100 Subject: [PATCH] refactor(ivy): simplify getFirstNativeNode processing of LContainer (#33647) PR Close #33647 --- packages/core/src/render3/node_manipulation.ts | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/packages/core/src/render3/node_manipulation.ts b/packages/core/src/render3/node_manipulation.ts index 1dba574c07..c50b3f5bdf 100644 --- a/packages/core/src/render3/node_manipulation.ts +++ b/packages/core/src/render3/node_manipulation.ts @@ -668,18 +668,7 @@ function getFirstNativeNode(lView: LView, tNode: TNode | null): RNode|null { if (tNodeType === TNodeType.Element) { return getNativeByTNode(tNode, lView); } else if (tNodeType === TNodeType.Container) { - const lContainer = lView[tNode.index]; - if (lContainer.length > CONTAINER_HEADER_OFFSET) { - const firstView = lContainer[CONTAINER_HEADER_OFFSET]; - const firstTNodeOfView = firstView[TVIEW].firstChild; - if (firstTNodeOfView !== null) { - return getFirstNativeNode(firstView, firstTNodeOfView); - } else { - return lContainer[NATIVE]; - } - } else { - return lContainer[NATIVE]; - } + return getBeforeNodeForView(-1, lView[tNode.index]); } else if (tNodeType === TNodeType.ElementContainer || tNodeType === TNodeType.IcuContainer) { const elIcuContainerChild = tNode.child; if (elIcuContainerChild !== null) { @@ -710,7 +699,10 @@ export function getBeforeNodeForView(viewIndexInContainer: number, lContainer: L const nextViewIndex = CONTAINER_HEADER_OFFSET + viewIndexInContainer + 1; if (nextViewIndex < lContainer.length) { const lView = lContainer[nextViewIndex] as LView; - return getFirstNativeNode(lView, lView[TVIEW].firstChild); + const firstTNodeOfView = lView[TVIEW].firstChild; + if (firstTNodeOfView !== null) { + return getFirstNativeNode(lView, firstTNodeOfView); + } } return lContainer[NATIVE];