import { Component, Input } from '@angular/core'; import { ApplicantFromSearch } from '@core/typings/applicant.typing'; import { AnalyticsService, EventType } from '@yourcause/common/analytics'; import { I18nService } from '@yourcause/common/i18n'; import { YCModalComponent } from '@yourcause/common/modals'; @Component({ selector: 'gc-applicant-selector-modal', templateUrl: './applicant-selector-modal.component.html', styleUrls: ['./applicant-selector-modal.component.scss'] }) export class ApplicantSelectorModalComponent extends YCModalComponent< ApplicantFromSearch > { @Input() modalHeader = this.i18n.translate( 'APPLY:hdrAddApplicant', {}, 'Add Applicant' ); @Input() modalSubHeader = ''; isApplicantValid = false; selectedApplicant: ApplicantFromSearch; newApplicant: ApplicantFromSearch; constructor ( private i18n: I18nService, private analyticsService: AnalyticsService ) { super(); } setApplicantFromSearch (applicant: ApplicantFromSearch) { this.selectedApplicant = applicant; } setNewApplicant (applicant: ApplicantFromSearch) { this.newApplicant = applicant; } setValidityOfApplicant (valid = false) { this.isApplicantValid = valid; } onSubmit () { this.closeModal.emit(this.selectedApplicant || this.newApplicant); this.analyticsService.emitEvent({ eventName: 'Applicant selector modal submit', eventType: EventType.Click, extras: null }); } }