From a5a5861b27061247b21dd5d2bee7b131c604a3c2 Mon Sep 17 00:00:00 2001 From: "GIANNIS\\tsiro" Date: Fri, 4 Apr 2025 17:02:00 +0300 Subject: [PATCH] feat: fix angular content project defer challenge solution 2 --- .../src/app/expandable-card.ts | 44 +++++++++++++- .../src/app/page-2.ts | 58 ++++++++++++++----- 2 files changed, 86 insertions(+), 16 deletions(-) diff --git a/apps/angular/59-content-projection-defer/src/app/expandable-card.ts b/apps/angular/59-content-projection-defer/src/app/expandable-card.ts index 8f446ed80..e1bd76e32 100644 --- a/apps/angular/59-content-projection-defer/src/app/expandable-card.ts +++ b/apps/angular/59-content-projection-defer/src/app/expandable-card.ts @@ -1,4 +1,28 @@ -import { ChangeDetectionStrategy, Component, signal } from '@angular/core'; +import { NgTemplateOutlet } from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, + contentChild, + Directive, + signal, + TemplateRef, +} from '@angular/core'; + +@Directive({ + selector: '[cardContentTemplate]', +}) +export class CardContentTemplateDirective { + static ngTemplateContextGuard( + dir: CardContentTemplateDirective, + ctx: any, + ): ctx is CardContentTemplateContext { + return true; + } +} + +type CardContentTemplateContext = { + $implicit: { expanded: boolean }; +}; @Component({ selector: 'app-expandable-card', @@ -6,6 +30,7 @@ import { ChangeDetectionStrategy, Component, signal } from '@angular/core';