Make share results distinguishable if there are more than one with the exact same display name
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
parent
99a6665888
commit
a86746ea08
|
@ -241,7 +241,27 @@ export default {
|
||||||
// if there is a condition specified, filter it
|
// if there is a condition specified, filter it
|
||||||
const externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))
|
const externalResults = this.externalResults.filter(result => !result.condition || result.condition(this))
|
||||||
|
|
||||||
this.suggestions = exactSuggestions.concat(suggestions).concat(externalResults).concat(lookupEntry)
|
const allSuggestions = exactSuggestions.concat(suggestions).concat(externalResults).concat(lookupEntry)
|
||||||
|
|
||||||
|
// Count occurances of display names in order to provide a distinguishable description if needed
|
||||||
|
const nameCounts = allSuggestions.reduce((nameCounts, result) => {
|
||||||
|
if (!result.displayName) {
|
||||||
|
return nameCounts
|
||||||
|
}
|
||||||
|
if (!nameCounts[result.displayName]) {
|
||||||
|
nameCounts[result.displayName] = 0
|
||||||
|
}
|
||||||
|
nameCounts[result.displayName]++
|
||||||
|
return nameCounts
|
||||||
|
}, {})
|
||||||
|
|
||||||
|
this.suggestions = allSuggestions.map(item => {
|
||||||
|
// Make sure that items with duplicate displayName get the shareWith applied as a description
|
||||||
|
if (nameCounts[item.displayName] > 1 && !item.desc) {
|
||||||
|
return { ...item, desc: item.shareWith }
|
||||||
|
}
|
||||||
|
return item
|
||||||
|
})
|
||||||
|
|
||||||
this.loading = false
|
this.loading = false
|
||||||
console.info('suggestions', this.suggestions)
|
console.info('suggestions', this.suggestions)
|
||||||
|
|
Loading…
Reference in New Issue