From 4542189a262476fe3fd169482ab1ffbb2a4b3c47 Mon Sep 17 00:00:00 2001 From: Diamantis Tziotzios Date: Mon, 29 Jan 2024 14:39:20 +0200 Subject: [PATCH] autocomplete changes --- .../referencesearch/FieldSearchBuilder.java | 3 +- .../services/reference/reference.service.ts | 1 + .../multiple-auto-complete-configuration.ts | 4 +- .../multiple-auto-complete.component.html | 67 +---- .../multiple-auto-complete.component.ts | 251 ++++++++---------- 5 files changed, 119 insertions(+), 207 deletions(-) diff --git a/dmp-backend/core/src/main/java/eu/eudat/model/builder/referencesearch/FieldSearchBuilder.java b/dmp-backend/core/src/main/java/eu/eudat/model/builder/referencesearch/FieldSearchBuilder.java index f277ee2a3..36399d472 100644 --- a/dmp-backend/core/src/main/java/eu/eudat/model/builder/referencesearch/FieldSearchBuilder.java +++ b/dmp-backend/core/src/main/java/eu/eudat/model/builder/referencesearch/FieldSearchBuilder.java @@ -68,7 +68,7 @@ public class FieldSearchBuilder extends BaseBuilder> } private List getPropertiesFields(ReferenceType referenceType){ - switch (referenceType){ + switch (referenceType) { case Taxonomies: return properties.getTaxonomy().get("fields"); case Licenses: return properties.getLicence().get("fields"); case Publications: return properties.getPublication().get("fields"); @@ -80,6 +80,7 @@ public class FieldSearchBuilder extends BaseBuilder> case Organizations: return properties.getOrganisation().get("fields"); case Datasets: return properties.getDataset().get("fields"); case Funder: return properties.getFunder().get("fields"); + case Grants: return properties.getGrant().get("fields"); case Project: return properties.getProject().get("fields"); case Researcher: return properties.getResearcher().get("fields"); default: return null; diff --git a/dmp-frontend/src/app/core/services/reference/reference.service.ts b/dmp-frontend/src/app/core/services/reference/reference.service.ts index c0075c023..6999bf189 100644 --- a/dmp-frontend/src/app/core/services/reference/reference.service.ts +++ b/dmp-frontend/src/app/core/services/reference/reference.service.ts @@ -138,6 +138,7 @@ export class ReferenceService { titleFn: (item: Reference) => item.label, subtitleFn: (item: Reference) => item?.sourceType === ReferenceSourceType.External ? this.language.instant('REFERENCE-FIELD-COMPONENT.EXTERNAL-SOURCE') + ': ' + item.source : this.language.instant('REFERENCE-FIELD-COMPONENT.INTERNAL-SOURCE'), valueAssign: (item: Reference) => item, + uniqueAssign: (item: Reference) => item.source + '_' + item.reference, }; } diff --git a/dmp-frontend/src/app/library/auto-complete/multiple/multiple-auto-complete-configuration.ts b/dmp-frontend/src/app/library/auto-complete/multiple/multiple-auto-complete-configuration.ts index fc4f529a8..85a57e34e 100644 --- a/dmp-frontend/src/app/library/auto-complete/multiple/multiple-auto-complete-configuration.ts +++ b/dmp-frontend/src/app/library/auto-complete/multiple/multiple-auto-complete-configuration.ts @@ -13,7 +13,7 @@ export interface MultipleAutoCompleteConfiguration { // Static or initial items. initialItems?: (excludedItems: any[], data?: any) => Observable; // Data retrieval function - filterFn?: (searchQuery: string, excludedItems: any[]) => Observable; + filterFn?: (searchQuery: string, excludedItems: any[], extraData?: any) => Observable; // Get selected items. Used when valueAssign is used so the full object can be retrieved for presentation. getSelectedItems?: (selectedItems: any[]) => Observable; // Property formating for input @@ -28,6 +28,8 @@ export interface MultipleAutoCompleteConfiguration { extraData?: any; // Callback to intercept value assignment based on item selection valueAssign?: (selectedItem: any) => any; + // Callback to intercept value assignment based on item selection + uniqueAssign?: (selectedItem: any) => any; // Property formating template optionTemplate?: TemplateRef; // Property formatting component diff --git a/dmp-frontend/src/app/library/auto-complete/multiple/multiple-auto-complete.component.html b/dmp-frontend/src/app/library/auto-complete/multiple/multiple-auto-complete.component.html index 04b2ae965..8692b29fa 100644 --- a/dmp-frontend/src/app/library/auto-complete/multiple/multiple-auto-complete.component.html +++ b/dmp-frontend/src/app/library/auto-complete/multiple/multiple-auto-complete.component.html @@ -1,30 +1,11 @@ -
- - +
- - + - {{_displayFn(selectedItem)}}