import { Component, Input, OnInit } from '@angular/core'; import { ProgramExport, ProgramImport } from '@core/typings/program.typing'; import { ClientSettingsService } from '@features/client-settings/client-settings.service'; import { AnalyticsService, EventType } from '@yourcause/common/analytics'; import { I18nService } from '@yourcause/common/i18n'; import { YCModalComponent } from '@yourcause/common/modals'; @Component({ selector: 'gc-import-export-programs-modal', templateUrl: 'import-export-programs-modal.component.html', styleUrls: ['./import-export-programs-modal.component.scss'] }) export class ImportExportProgramsModalComponent extends YCModalComponent implements OnInit { @Input() isImport: boolean; @Input() isNomination = false; @Input() programExport: ProgramExport; @Input() programImport: ProgramImport; @Input() previouslyImportedData: ProgramImport; hasExternalApi = this.clientSettingsService.clientSettings.canConfigureWebservices; programData: ProgramImport; importAlert = this.i18n.translate( 'PROGRAM:textImportFormExternalApiAlertWithDataCheckUpdated', {}, 'Importing a form that uses a web service component may require an update to the web service configuration. Items displayed in red already exist and will not be imported.' ); constructor ( private i18n: I18nService, private clientSettingsService: ClientSettingsService, private analyticsService: AnalyticsService ) { super(); } ngOnInit () { if (this.isImport) { this.programData = this.programImport; } else { this.programData = this.programExport.exportModel; } } handlePrimaryClick () { this.closeModal.emit(true); this.analyticsService.emitEvent({ eventName: 'Import export programs modal save', eventType: EventType.Click, extras: null }); } }