ea483f476722f14fa41edf8832074600ca8df8ce hiram Sun Sep 8 17:19:36 2024 -0700 prevent duplication of words in the result during the highlight process refs #32596 diff --git src/hg/js/assemblySearch.js src/hg/js/assemblySearch.js index bd01a27..fb82437 100644 --- src/hg/js/assemblySearch.js +++ src/hg/js/assemblySearch.js @@ -311,36 +311,36 @@ wholeWord.push(subPrefix[i]); } prefix.push(subPrefix[i].replace(/\*$/, '')); } else { prefix.push(noPrefix.replace(/\*$/, '')); } } else { wholeWord.push(noPrefix); } } if (wholeWord.length > 0) { for (let word of wholeWord) { for (let key in rowData) { if (rowData.hasOwnProperty(key)) { if (typeof rowData[key] === 'string') { - let value = rowData[key]; - let subWords = value.match(/(\w+)|(\W+)/g); - let newString = ""; let wholeSubs = word.match(/(\w+)/g); if (wholeSubs && wholeSubs.length > 0) { for (let whole of wholeSubs) { + let newString = ""; + let value = rowData[key]; + let subWords = value.match(/(\w+)|(\W+)/g); for (let subWord of subWords) { if ( whole.toLowerCase() === subWord.toLowerCase() ) { newString += "" + subWord + ""; } else { newString += subWord; } } newString = newString.trim(); if (newString !== rowData[key]) rowData[key] = newString; } // for (let whole of wholeSubs) } // if (wholeSubs.length > 0) } // if (typeof rowData[key] === 'string') } // if (rowData.hasOwnProperty(key)) } // for (let key in rowData)