Skip to content

Commit 2b3774f

Browse files
committed
Merge branch 'vue3-migration-2492' of https://github.com/FAIRsharing/fairsharing.github.io into vue3-migration-2492
2 parents 72eec40 + 85a35e4 commit 2b3774f

2 files changed

Lines changed: 33 additions & 17 deletions

File tree

documentation/html/quicksearch.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

documentation/html/views_Browsers_OntologyBrowser.vue.html

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ <h1 class="page-title">Source: views/Browsers/OntologyBrowser.vue</h1>
110110
&lt;v-autocomplete
111111
v-model="search"
112112
:color="color"
113-
:items="flattenedTree"
113+
:items="uniqueSearchItems"
114114
:label="`Search ${selectedOntology}s`"
115115
clearable
116116
hide-details
@@ -154,8 +154,8 @@ <h1 class="page-title">Source: views/Browsers/OntologyBrowser.vue</h1>
154154
:class="[
155155
'chip-mimic mr-2',
156156
item.isTarget
157-
? 'bg-primary text-white font-weight-bold elevation-2'
158-
: 'text-grey-darken-2 border-grey',
157+
? `bg-${color} text-white font-weight-bold elevation-2 border-0`
158+
: `text-${color} border-${color}`,
159159
]"
160160
>
161161
{{ item.name }}
@@ -236,6 +236,16 @@ <h1 class="page-title">Source: views/Browsers/OntologyBrowser.vue</h1>
236236
};
237237
},
238238
computed: {
239+
...mapState("editor", ["colors"]),
240+
// We do NOT map activeTerms/openedTerms directly to avoid undefined errors
241+
...mapState("ontologyBrowser", [
242+
"tree",
243+
"records",
244+
"loadingData",
245+
"flattenedTree",
246+
"pagination",
247+
"selectedTerm",
248+
]),
239249
selectedOntology() {
240250
return this.$route.params.id;
241251
},
@@ -245,7 +255,6 @@ <h1 class="page-title">Source: views/Browsers/OntologyBrowser.vue</h1>
245255
color() {
246256
return this.colors[this.selectedOntology];
247257
},
248-
249258
term() {
250259
const qTerm = this.$route.query["term"];
251260
if (!qTerm) return null;
@@ -254,18 +263,6 @@ <h1 class="page-title">Source: views/Browsers/OntologyBrowser.vue</h1>
254263
node.name.toLowerCase() === decodeURIComponent(qTerm).toLowerCase(),
255264
);
256265
},
257-
258-
...mapState("editor", ["colors"]),
259-
// We do NOT map activeTerms/openedTerms directly to avoid undefined errors
260-
...mapState("ontologyBrowser", [
261-
"tree",
262-
"records",
263-
"loadingData",
264-
"flattenedTree",
265-
"pagination",
266-
"selectedTerm",
267-
]),
268-
269266
// Manual State mapping with Safety Checks
270267
activeTerms() {
271268
return this.$store.state.ontologyBrowser.activeTerms || [];
@@ -327,6 +324,25 @@ <h1 class="page-title">Source: views/Browsers/OntologyBrowser.vue</h1>
327324
traverse(sourceTree);
328325
return result;
329326
},
327+
328+
/**
329+
* UNIQUE SEARCH ITEMS
330+
* Filters the flattenedTree to ensure each term ID appears only once
331+
* in the Autocomplete dropdown.
332+
*/
333+
uniqueSearchItems() {
334+
const items = this.flattenedTree || [];
335+
const seen = new Set();
336+
337+
return items.filter((item) => {
338+
const id = item.identifier;
339+
if (seen.has(id)) {
340+
return false; // Duplicate found, skip it
341+
}
342+
seen.add(id);
343+
return true; // New item, keep it
344+
});
345+
},
330346
},
331347
watch: {
332348
// URL Term Watcher

0 commit comments

Comments
 (0)