aboutsummaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/components/customModal/components/modalCloseButton/modal-close-button.component.ts
blob: a3e741a324a1a9e7d37d87d568133a82113df6f0 (plain)
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
33
34
35
36
import {Component, ComponentRef, Input} from "@angular/core";
import {ModalComponent} from "../../modal.component";
import {CustomButtonComponent} from "../../../customButton/custom-button.component";
import {RippleAnimationAction} from "../../directives/ripple-click.animation.directive";


@Component({
  selector: "sdc-modal-close-button",
  template: `
    <div class="sdc-modal__close-button"
         customRippleClickAnimation
         [ngClass]="disabled ? 'disabled' : ''"
         [rippleOnAction]="!disabled && rippleAnimationAction"
         [attr.data-tests-id]="testId"
         (click)="!disabled && closeModal('close')"
    >
      <svg-icon name="close" [mode]="disabled? 'secondary' : 'info'" size="small"></svg-icon>
    </div>
  `
})
export class ModalCloseButtonComponent extends CustomButtonComponent {

  @Input() testId: string;
  @Input() disabled: boolean;
  @Input() modalInstanceRef: ComponentRef<ModalComponent>;

  public rippleAnimationAction: RippleAnimationAction = RippleAnimationAction.MOUSE_ENTER;

  constructor() {
    super();
  }

  public closeModal = (btnName: string): void => {
    this.modalInstanceRef.instance.closeModal(btnName);
  }
}