import { Component, TemplateRef, Input, ViewChild } from "@angular/core"; import { BHPModalConfig } from "./modal.config"; import { BsModalService } from "ngx-bootstrap/modal"; import { BsModalRef } from "ngx-bootstrap/modal/bs-modal-ref.service"; @Component({ selector: "BHPModal", template: ` `, providers: [BsModalService] }) export class BHPModalComponent { @Input() context: object; @ViewChild("template") tmp: TemplateRef; modalRef: BsModalRef; constructor(private modalService: BsModalService, _config: BHPModalConfig) { Object.assign(this, _config); } openBHPModal() { this.modalRef = this.modalService.show(this.tmp); } closeBHPModal() { this.modalRef.hide(); } }