refactor(core): Remove reliance on TNodeType.View
. (#38707)
`TNodeType.View` was created to support inline views. That feature did not materialize and we have since removed the instructions for it, leave an unneeded `TNodeType.View` which was still used in a very inconsistent way. This change no longer created `TNodeType.View` (and there will be a follow up chang to completely remove it.) Also simplified the mental model so that `LView[HOST]`/`LView[T_HOST]` always point to the insertion location of the `LView`. PR Close #38707
This commit is contained in:

committed by
Alex Rickabaugh

parent
b2579d43cd
commit
eb32b6bd6b
@ -75,12 +75,12 @@ function testTemplate(rf: RenderFlags, ctx: any) {
|
||||
}
|
||||
|
||||
const rootLView = createLView(
|
||||
null, createTView(TViewType.Root, -1, null, 0, 0, null, null, null, null, null), {},
|
||||
LViewFlags.IsRoot, null, null);
|
||||
null, createTView(TViewType.Root, null, null, 0, 0, null, null, null, null, null), {},
|
||||
LViewFlags.IsRoot, null, null, null, null, null, null);
|
||||
|
||||
const viewTNode = createTNode(null!, null, TNodeType.View, -1, null, null) as TViewNode;
|
||||
const embeddedTView = createTView(
|
||||
TViewType.Embedded, -1, testTemplate, 21, 10, [Tooltip.ɵdir], null, null, null,
|
||||
TViewType.Embedded, null, testTemplate, 21, 10, [Tooltip.ɵdir], null, null, null,
|
||||
[['position', 'top', 3, 'tooltip']]);
|
||||
|
||||
// create view once so we don't profile the first create pass
|
||||
|
@ -64,12 +64,12 @@ function testTemplate(rf: RenderFlags, ctx: any) {
|
||||
}
|
||||
|
||||
const rootLView = createLView(
|
||||
null, createTView(TViewType.Root, -1, null, 0, 0, null, null, null, null, null), {},
|
||||
LViewFlags.IsRoot, null, null);
|
||||
null, createTView(TViewType.Root, null, null, 0, 0, null, null, null, null, null), {},
|
||||
LViewFlags.IsRoot, null, null, null, null, null, null);
|
||||
|
||||
const viewTNode = createTNode(null!, null, TNodeType.View, -1, null, null) as TViewNode;
|
||||
const embeddedTView = createTView(
|
||||
TViewType.Embedded, -1, testTemplate, 21, 0, null, null, null, null, [[
|
||||
TViewType.Embedded, null, testTemplate, 21, 0, null, null, null, null, [[
|
||||
'name1', 'value1', 'name2', 'value2', 'name3', 'value3', 'name4', 'value4', 'name5', 'value5'
|
||||
]]);
|
||||
|
||||
|
@ -66,12 +66,12 @@ function testTemplate(rf: RenderFlags, ctx: any) {
|
||||
}
|
||||
|
||||
const rootLView = createLView(
|
||||
null, createTView(TViewType.Root, -1, null, 0, 0, null, null, null, null, null), {},
|
||||
LViewFlags.IsRoot, null, null);
|
||||
null, createTView(TViewType.Root, null, null, 0, 0, null, null, null, null, null), {},
|
||||
LViewFlags.IsRoot, null, null, null, null, null, null);
|
||||
|
||||
const viewTNode = createTNode(null!, null, TNodeType.View, -1, null, null) as TViewNode;
|
||||
const embeddedTView = createTView(
|
||||
TViewType.Embedded, -1, testTemplate, 11, 0, null, null, null, null, [[3, 'click', 'input']]);
|
||||
TViewType.Embedded, null, testTemplate, 11, 0, null, null, null, null, [[3, 'click', 'input']]);
|
||||
|
||||
// create view once so we don't profile the first create pass
|
||||
createAndRenderLView(rootLView, embeddedTView, viewTNode);
|
||||
|
@ -59,12 +59,12 @@ function testTemplate(rf: RenderFlags, ctx: any) {
|
||||
}
|
||||
|
||||
const rootLView = createLView(
|
||||
null, createTView(TViewType.Root, -1, null, 0, 0, null, null, null, null, null), {},
|
||||
LViewFlags.IsRoot, null, null);
|
||||
null, createTView(TViewType.Root, null, null, 0, 0, null, null, null, null, null), {},
|
||||
LViewFlags.IsRoot, null, null, null, null, null, null);
|
||||
|
||||
const viewTNode = createTNode(null!, null, TNodeType.View, -1, null, null) as TViewNode;
|
||||
const embeddedTView = createTView(
|
||||
TViewType.Root, -1, testTemplate, 2, 0, [NgIfLike.ɵdir], null, null, null,
|
||||
TViewType.Root, null, testTemplate, 2, 0, [NgIfLike.ɵdir], null, null, null,
|
||||
[['viewManipulation', '']]);
|
||||
|
||||
// create view once so we don't profile first template pass
|
||||
|
@ -22,7 +22,8 @@ const renderer = rendererFactory.createRenderer(null, null);
|
||||
export function createAndRenderLView(
|
||||
parentLView: LView, tView: TView, hostTNode: TViewNode): LView {
|
||||
const embeddedLView = createLView(
|
||||
parentLView, tView, {}, LViewFlags.CheckAlways, null, hostTNode, rendererFactory, renderer);
|
||||
parentLView, tView, {}, LViewFlags.CheckAlways, null, hostTNode, rendererFactory, renderer,
|
||||
null, null);
|
||||
renderView(tView, embeddedLView, null);
|
||||
return embeddedLView;
|
||||
}
|
||||
@ -49,12 +50,12 @@ export function setupTestHarness(
|
||||
embeddedViewContext: any = {}, consts: TAttributes[]|null = null,
|
||||
directiveRegistry: DirectiveDefList|null = null): TestHarness {
|
||||
// Create a root view with a container
|
||||
const hostTView = createTView(TViewType.Root, -1, null, 1, 0, null, null, null, null, consts);
|
||||
const hostTView = createTView(TViewType.Root, null, null, 1, 0, null, null, null, null, consts);
|
||||
const tContainerNode = getOrCreateTNode(hostTView, 0, TNodeType.Container, null, null);
|
||||
const hostNode = renderer.createElement('div');
|
||||
const hostLView = createLView(
|
||||
null, hostTView, {}, LViewFlags.CheckAlways | LViewFlags.IsRoot, hostNode, null,
|
||||
rendererFactory, renderer);
|
||||
rendererFactory, renderer, null, null);
|
||||
const mockRCommentNode = renderer.createComment('');
|
||||
const lContainer =
|
||||
createLContainer(mockRCommentNode, hostLView, mockRCommentNode, tContainerNode);
|
||||
@ -63,13 +64,14 @@ export function setupTestHarness(
|
||||
|
||||
// create test embedded views
|
||||
const embeddedTView = createTView(
|
||||
TViewType.Embedded, -1, templateFn, decls, vars, directiveRegistry, null, null, null, consts);
|
||||
TViewType.Embedded, null, templateFn, decls, vars, directiveRegistry, null, null, null,
|
||||
consts);
|
||||
const viewTNode = createTNode(hostTView, null, TNodeType.View, -1, null, null) as TViewNode;
|
||||
|
||||
function createEmbeddedLView(): LView {
|
||||
const embeddedLView = createLView(
|
||||
hostLView, embeddedTView, embeddedViewContext, LViewFlags.CheckAlways, null, viewTNode,
|
||||
rendererFactory, renderer);
|
||||
rendererFactory, renderer, null, null);
|
||||
renderView(embeddedTView, embeddedLView, embeddedViewContext);
|
||||
return embeddedLView;
|
||||
}
|
||||
|
@ -52,12 +52,12 @@ function testTemplate(rf: RenderFlags, ctx: any) {
|
||||
}
|
||||
|
||||
const rootLView = createLView(
|
||||
null, createTView(TViewType.Root, -1, null, 0, 0, null, null, null, null, null), {},
|
||||
LViewFlags.IsRoot, null, null);
|
||||
null, createTView(TViewType.Root, null, null, 0, 0, null, null, null, null, null), {},
|
||||
LViewFlags.IsRoot, null, null, null, null, null, null);
|
||||
|
||||
const viewTNode = createTNode(null!, null, TNodeType.View, -1, null, null) as TViewNode;
|
||||
const embeddedTView = createTView(
|
||||
TViewType.Embedded, -1, testTemplate, 21, 10, [ToDestroy.ɵdir], null, null, null,
|
||||
TViewType.Embedded, null, testTemplate, 21, 10, [ToDestroy.ɵdir], null, null, null,
|
||||
[['to-destroy']]);
|
||||
|
||||
// create view once so we don't profile the first create pass
|
||||
|
Reference in New Issue
Block a user