import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; import { ReferenceFieldsService } from '@features/reference-fields/services/reference-fields.service'; import { TypeSafeFormBuilder, TypeSafeFormGroup } from '@yourcause/common'; interface DepPicklistOptionsFormGroup { parentPicklistName: string; hideWithoutParentVal: boolean; } @Component({ selector: 'gc-dependent-picklist-options-settings', templateUrl: './dependent-picklist-options-settings.component.html', styleUrls: ['./dependent-picklist-options-settings.component.scss'] }) export class DependentPicklistOptionsSettingsComponent implements OnInit { @Input() hideWithoutParentVal: boolean; @Input() compType: string; @Output() onChange = new EventEmitter(); formGroup: TypeSafeFormGroup; constructor ( private formBuilder: TypeSafeFormBuilder, private referenceFieldsService: ReferenceFieldsService ) { } ngOnInit () { const field = this.referenceFieldsService.getReferenceFieldFromCompType( this.compType ); const parentPicklistName = this.referenceFieldsService.referenceFieldMapById[ field.parentReferenceFieldId ]?.name ?? ''; this.formGroup = this.formBuilder.group({ parentPicklistName, hideWithoutParentVal: this.hideWithoutParentVal }); } }