From 09ec37a772802980d68264f2fed040be36e14c82 Mon Sep 17 00:00:00 2001 From: Zero~Informatique Date: Fri, 3 Apr 2020 21:57:19 +0200 Subject: viewer: tag categories implementation fixed disambiguation by categories following code review GitHub: Resolves #29 --- viewer/src/components/LdTagInput.vue | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'viewer/src/components/LdTagInput.vue') diff --git a/viewer/src/components/LdTagInput.vue b/viewer/src/components/LdTagInput.vue index bdb07bc..865db96 100644 --- a/viewer/src/components/LdTagInput.vue +++ b/viewer/src/components/LdTagInput.vue @@ -54,9 +54,16 @@ export default class LdTagInput extends Vue { return `${option.display} (${option.items.length})`; } + filterAlreadyPresent(newSearch: Tag.Search) { + return !this.model.find( + currentSearch => + currentSearch.tag === newSearch.tag && (!currentSearch.parent || currentSearch.parent === newSearch.parent) + ); + } + searchTags(filter: string) { this.filteredTags = IndexFactory.searchTags(this.tagsIndex, filter, false) - .filter(newSearch => !this.model.find(currentSearch => currentSearch.tag === newSearch.tag)) + .filter(this.filterAlreadyPresent) .sort((a, b) => b.items.length - a.items.length); } -- cgit v1.2.3