@if (node().expandable) {
}
{{ node().name }}
@if (node().directives) {
{{ directivesArrayString() }}
}
@if (changeDetection()) {
{{ changeDetection() }}
}
@let block = node().controlFlowBlock;
@if (BlockType.isDeferBlock(block)) {
@let defer = block;
@if (defer) {
@if (defer.renderedBlock && defer.renderedBlock !== 'defer') {
(@{{ defer.renderedBlock }})
} @else if (!defer.renderedBlock) {
(non-rendered)
}
}
} @else if (BlockType.isForLoopBlock(block)) {
@let forLoop = block;
@if (forLoop) {
({{ forLoop.items.length }} {{ forLoop.items.length === 1 ? 'item' : 'items' }})
}
} @else if (!hydration || hydration.status !== 'dehydrated') {
== $ng0
}
@if (nodeCdData(); as cd) {
@let below60fps = cd.lastCdPassDuration > FPS_60;
x{{ cd.cdCount }}
{{ cd.lastCdPassDuration | number: '1.0-1' }} ms
}
@switch (hydration?.status) {
@case ('hydrated') {
water_drop
}
@case ('dehydrated') {
water_do
}
@case ('skipped') {
invert_colors_off
}
@case ('mismatched') {
error_outline
}
}
@if (
treeControl().isExpanded(node()) &&
hydration &&
hydration.status === 'mismatched' &&
(hydration.expectedNodeDetails || hydration.actualNodeDetails)
) {
@if (hydration.expectedNodeDetails) {
Expected DOM:
{{ hydration.expectedNodeDetails }}
}
@if (hydration.actualNodeDetails) {
Actual DOM:
{{ hydration.actualNodeDetails }}
}
}