argos/dmp-frontend/src/app/ui/reference/reference-field/reference-field.component.ts

50 lines
1.9 KiB
TypeScript
Raw Normal View History

2024-01-15 17:47:34 +01:00
import { Component, Input, OnInit } from '@angular/core';
import { UntypedFormGroup } from '@angular/forms';
import { ReferenceType } from '@app/core/model/reference-type/reference-type';
2024-01-15 17:47:34 +01:00
import { ReferenceService } from '@app/core/services/reference/reference.service';
import { EnumUtils } from '@app/core/services/utilities/enum-utils.service';
import { MultipleAutoCompleteConfiguration } from '@app/library/auto-complete/multiple/multiple-auto-complete-configuration';
import { BaseComponent } from '@common/base/base.component';
2023-12-28 16:18:49 +01:00
@Component({
selector: 'app-reference-field-component',
templateUrl: 'reference-field.component.html',
styleUrls: ['./reference-field.component.scss']
})
export class ReferenceFieldComponent extends BaseComponent implements OnInit {
@Input() referenceType: ReferenceType = null;
@Input() form: UntypedFormGroup = null;
@Input() label: string = null;
2024-02-08 18:48:14 +01:00
@Input() required: boolean = false;
@Input() multiple: boolean = true;
@Input() hint: string;
@Input() placeholder: string;
2023-12-28 16:18:49 +01:00
2024-01-15 17:47:34 +01:00
multipleAutoCompleteSearchConfiguration: MultipleAutoCompleteConfiguration;
2023-12-28 16:18:49 +01:00
constructor(
2024-01-15 17:47:34 +01:00
private referenceService: ReferenceService,
public enumUtils: EnumUtils,
2023-12-28 16:18:49 +01:00
) { super(); }
ngOnInit() {
this.multipleAutoCompleteSearchConfiguration = this.referenceService.getMultipleAutoCompleteSearchConfiguration(this.referenceType.id);
2023-12-28 16:18:49 +01:00
}
2024-01-18 13:23:20 +01:00
addReference() {
// const dialogRef = this.dialog.open(DatasetExternalDataRepositoryDialogEditorComponent, {
// width: '500px',
// restoreFocus: false,
// data: {}
// });
// dialogRef.afterClosed()
// .pipe(takeUntil(this._destroyed))
// .subscribe(result => {
// if (!result) { return; }
// const dataRepositoryModel = new ExternalDataRepositoryEditorModel(result.id, result.name, result.abbreviation, result.uri, result.pid, result.source);
// (<UntypedFormArray>this.formGroup.get('dataRepositories')).push(dataRepositoryModel.buildForm());
// });
}
2023-12-28 16:18:49 +01:00
}