Skip to content

Commit

Permalink
fix: improve matching for tel type parameter
Browse files Browse the repository at this point in the history
The old implementation assigns the same score for HOME,VOICE and VOICE for a tel property with parameter voice.

This pull requests adds an aditional point for the items with the same length.

Signed-off-by: Daniel Kesselberg <[email protected]>
  • Loading branch information
kesselb authored and backportbot-nextcloud[bot] committed Oct 11, 2023
1 parent 894c11c commit 912ac3a
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions src/components/ContactDetails/ContactDetailsProperty.vue
Original file line number Diff line number Diff line change
Expand Up @@ -251,11 +251,18 @@ export default {
// https://jsperf.com/array-map-and-intersection-perf
const matchingTypes = this.propModel.options
.map(type => {
return {
type,
// "WORK,HOME" => ['WORK', 'HOME']
score: type.id.split(',').filter(value => selectedType.indexOf(value) !== -1).length,
let score = 0
const types = type.id.split(',') // "WORK,HOME" => ['WORK', 'HOME']

if (types.length === selectedType.length) {
// additional point for same length
score++
}

const intersection = types.filter(value => selectedType.includes(value))
score = score + intersection.length

return { type, score }
})

// Sort by score, filtering out the null score and selecting the first match
Expand Down

0 comments on commit 912ac3a

Please sign in to comment.