import { NgModule, Component, Input, Output, EventEmitter, ElementRef, ContentChild } from '@angular/core'; import { CommonModule } from '@angular/common'; import { SharedModule, Header, Footer } from '../common/shared'; import { BlockableUI } from '../common/blockableui'; @Component({ selector: 'p-card', template: `
{{title}}
{{subtitle}}
` }) export class Card implements BlockableUI { @Input() title: string; @Input() subtitle: string; @Input() style: any; @Input() styleClass: string; @ContentChild(Header) headerFacet; @ContentChild(Footer) footerFacet; constructor(private el: ElementRef) { } getBlockableElement(): HTMLElement  { return this.el.nativeElement.children[0]; } } @NgModule({ imports: [CommonModule], exports: [Card, SharedModule], declarations: [Card] }) export class CardModule { }