aboutsummaryrefslogtreecommitdiffstats
path: root/src/angular/modals/modal-button.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/angular/modals/modal-button.component.ts')
-rw-r--r--src/angular/modals/modal-button.component.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/angular/modals/modal-button.component.ts b/src/angular/modals/modal-button.component.ts
new file mode 100644
index 0000000..4fa5b7c
--- /dev/null
+++ b/src/angular/modals/modal-button.component.ts
@@ -0,0 +1,29 @@
+import { Component, Input, HostListener } from "@angular/core";
+import { ButtonComponent } from "../buttons/button.component";
+import { ModalService } from "./modal.service";
+import template from "./../buttons/button.component.html";
+
+@Component({
+ selector: "sdc-modal-button",
+ template: template
+})
+export class ModalButtonComponent extends ButtonComponent {
+
+ @Input() public id?: string;
+ @Input() public callback: Function;
+ @Input() public closeModal: boolean;
+ @HostListener('click') invokeCallback = (): void => {
+ if (this.callback) {
+ this.callback();
+ }
+ if (this.closeModal) {
+ this.modalService.closeModal();
+ }
+ }
+
+ constructor(private modalService: ModalService) {
+ super();
+ this.closeModal = false;
+ }
+
+}