From ec45bfaea47d5850d8003481d5611c10999b51b5 Mon Sep 17 00:00:00 2001 From: Massimo Maggioni <94243057+MassimoMaggioni@users.noreply.github.com> Date: Wed, 29 Dec 2021 22:08:03 +0100 Subject: [PATCH] - fix a bug that add a | when the keyword has a trailing whitespace - the function cleanKeywords() substitute organizeKeywords() (better code) --- assets/ts/search.tsx | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/assets/ts/search.tsx b/assets/ts/search.tsx index b5c58f8..1b10574 100644 --- a/assets/ts/search.tsx +++ b/assets/ts/search.tsx @@ -55,37 +55,27 @@ class Search { } /// clean input keywords list - private reorganizeKeywords(keywords: string[]) { - let tmp: string[] = []; - /// do the search only on keywords length >= 2 - for (let i=0; i < keywords.length; i++){ - if (keywords[i].length === 1) keywords.splice(i,1); - } - /// Sort keywords from short to long - keywords.sort((a, b) => { - return b.length - a.length - }); - /// remove the keywords contained in other keywords - for (let i = 0; i < keywords.length; i++) { - for (let j = 0; j < keywords.length; j++) { - if (i !== j) { - if (keywords[j].includes(keywords[i])) { - keywords.splice(i,1); - i=j=0; - } - } + private cleanKeywords(keywords: string[]) { + for (let i=0; i < keywords.length; i++){ + /// remove the white spaces + keywords[i]=keywords[i].trim(); + /// do the search only on keywords length >= 2 + if (keywords[i].length <= 1) { + keywords.splice(i,1); + i--; + } } + return keywords; } - return keywords; - } private async searchKeywords(keywords: string[]) { const rawData = await this.getData(); let results: pageData[] = []; - keywords = this.reorganizeKeywords(keywords); + if (keywords.length === 0) return; + keywords = this.cleanKeywords(keywords); /// from a b to a|b for regexp let k = "";