a3e741a324a1a9e7d37d87d568133a82113df6f0
[vid.git] / vid-webpack-master / src / app / shared / components / customModal / components / modalCloseButton / modal-close-button.component.ts
1 import {Component, ComponentRef, Input} from "@angular/core";
2 import {ModalComponent} from "../../modal.component";
3 import {CustomButtonComponent} from "../../../customButton/custom-button.component";
4 import {RippleAnimationAction} from "../../directives/ripple-click.animation.directive";
5
6
7 @Component({
8   selector: "sdc-modal-close-button",
9   template: `
10     <div class="sdc-modal__close-button"
11          customRippleClickAnimation
12          [ngClass]="disabled ? 'disabled' : ''"
13          [rippleOnAction]="!disabled && rippleAnimationAction"
14          [attr.data-tests-id]="testId"
15          (click)="!disabled && closeModal('close')"
16     >
17       <svg-icon name="close" [mode]="disabled? 'secondary' : 'info'" size="small"></svg-icon>
18     </div>
19   `
20 })
21 export class ModalCloseButtonComponent extends CustomButtonComponent {
22
23   @Input() testId: string;
24   @Input() disabled: boolean;
25   @Input() modalInstanceRef: ComponentRef<ModalComponent>;
26
27   public rippleAnimationAction: RippleAnimationAction = RippleAnimationAction.MOUSE_ENTER;
28
29   constructor() {
30     super();
31   }
32
33   public closeModal = (btnName: string): void => {
34     this.modalInstanceRef.instance.closeModal(btnName);
35   }
36 }