diff --git a/src/app/mapping/mapping.component.html b/src/app/mapping/mapping.component.html index 06db8c7672e015667c7aac231b4bc261b49b5bdf..dce44397cdb17e81c739b41529cd56199aa4ebb0 100644 --- a/src/app/mapping/mapping.component.html +++ b/src/app/mapping/mapping.component.html @@ -41,7 +41,7 @@ *ngIf="dataset.identifier === 'dct:hasVersion' || dataset.identifier === 'dct:title' " required #autoInput #{{dataset.identifier}}="ngModel" fullWidth id="{{dataset.identifier}}" name="{{dataset.identifier}}" nbInput - (input)="onChange()" placeholder="Enter value" [nbAutocomplete]="auto" + (ngModelChange)="onModelChange($event)" placeholder="Enter value" [nbAutocomplete]="auto" [(ngModel)]="selectedPaths[index]" autocomplete="false" (focus)="reset()" /> <div *ngIf="dataset.identifier.invalid && (dataset.identifier.dirty || dataset.identifier.touched)"> @@ -50,7 +50,7 @@ *ngIf=" dataset.identifier !== 'dct:hasVersion' && dataset.identifier !== 'dct:title'" #autoInput #{{dataset.identifier}}="ngModel" fullWidth id="{{dataset.identifier}}" name="{{dataset.identifier}}" nbInput - (input)="onChange()" placeholder="Enter value" [nbAutocomplete]="auto" + (ngModelChange)="onModelChange($event)" placeholder="Enter value" [nbAutocomplete]="auto" [(ngModel)]="selectedPaths[index]" autocomplete="false" (focus)="reset()" /> diff --git a/src/app/mapping/mapping.component.ts b/src/app/mapping/mapping.component.ts index b46c185f29c431d6bdb2e8b0a3af4a6b2dfa6ab2..1621870b440fd7dc3625bd0e69a9e01e9666060b 100644 --- a/src/app/mapping/mapping.component.ts +++ b/src/app/mapping/mapping.component.ts @@ -12,7 +12,6 @@ import { environment } from 'src/environments/environment.prod'; import { DatasetCrudService } from '../datasets/services/dataset-crud.service'; import { Dataset, DatasetPath } from './class/dataset'; -import { Dataverse } from './class/dataverse'; import { FeedbackDialogComponent } from './dialog/feedback-dialog/feedback-dialog.component'; @@ -27,7 +26,6 @@ export class MappingComponent implements OnInit { datasetModel: Dataset[]; filteredOptions: Observable<string[]>; keys: string[] = []; - keysMap: Map<number, string[]> = new Map(); selectedPaths: string[]; mappedMetadatas: Map<string, string>[] = []; obsMappedMetadatas: Observable<Map<string, string>[]>; @@ -68,9 +66,8 @@ export class MappingComponent implements OnInit { this.ids = this.dataSetService.ids; this.ids this.keys = []; - this.type == "Dataverse" ? this.getKeysFromMetadataDataverse(this.itemsdataset[0], '') : this.getKeysFromMetadataCustom(this.itemsdataset[0], ""); - this.keysMap.set(this.itemsdataset.length, this.keys); - this.filteredOptions = of(this.keysMap.get(1)); + this.type == "Dataverse" ? this.getKeysFromMetadataDataverse(this.itemsdataset[0], '') : this.getKeysFromMetadataCustom(this.itemsdataset[0], ''); + this.filteredOptions = of(this.keys); } createDataset(item: Object): Map<string, string> { @@ -358,13 +355,11 @@ export class MappingComponent implements OnInit { map(filterString => this.filter(filterString)), ); } - onChange() { - this.filteredOptions = this.getFilteredOptions(this.input.nativeElement.value); - } - onSelectionChange($event) { - this.filteredOptions = this.getFilteredOptions($event); + onModelChange(value: string) { + this.filteredOptions = of(this.filter(value)); } reset() { + this.filteredOptions = of(this.keys); } }