All files / lib/internal angular-directives.ts

100% Statements 32/32
100% Branches 8/8
100% Functions 5/5
100% Lines 32/32

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 331x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 132x 132x 132x 132x 1x 1x 132x 132x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 48688x 1x 1x  
import { AfterContentInit, Directive, EventEmitter, Output, TemplateRef } from '@angular/core';
 
/**
 * Directive to execute code once a node with *ngIf is attached in the DOM
 * Usage:
 * ```
 * <div *ngIf="my_condition" (after-if)="_handleAttach()">
 *   <!-- -->
 * </div>
 * ```
 */
@Directive({ selector: '[after-if]' })
export class AfterIfDirective implements AfterContentInit {
  @Output('after-if')
  public after = new EventEmitter<void>();
 
  public ngAfterContentInit(): void {
    // timeout helps prevent unexpected change errors
    setTimeout(()=> this.after.next());
  }
}
 
@Directive({
  selector: 'ng-template'
})
export class TemplateDirective {
  public template: TemplateRef<unknown>;
 
  constructor(private readonly templateRef: TemplateRef<unknown>) {
    this.template = this.templateRef;
  }
}