fix(all): Comparison of strings in FIND operators.
This commit is contained in:
parent
1899b1c755
commit
47d553f8f0
1 changed files with 22 additions and 8 deletions
|
@ -445,15 +445,15 @@ export class SystemKeywords {
|
|||
await CollectionUtil.asyncForEach(filters, async filter => {
|
||||
|
||||
let result = results.text[foundIndex][filter.columnIndex];
|
||||
let wholeWord = true;
|
||||
if (this.dk.user && this.dk.user.basicOptions && this.dk.user.basicOptions.wholeWord) {
|
||||
wholeWord = this.dk.user.basicOptions.wholeWord;
|
||||
}
|
||||
|
||||
switch (filter.dataType) {
|
||||
case 'string':
|
||||
switch (filter.operator) {
|
||||
case '=':
|
||||
let wholeWord = true;
|
||||
if (this.dk.user && this.dk.user.basicOptions && this.dk.user.basicOptions.wholeWord) {
|
||||
wholeWord = this.dk.user.basicOptions.wholeWord;
|
||||
}
|
||||
if (wholeWord) {
|
||||
if (result && result.toLowerCase().trim() === filter.value.toLowerCase().trim()) {
|
||||
filterAcceptCount++;
|
||||
|
@ -466,14 +466,28 @@ export class SystemKeywords {
|
|||
}
|
||||
break;
|
||||
case 'not in':
|
||||
if (filter.value.indexOf(result) === -1) {
|
||||
if (wholeWord) {
|
||||
if (result && result.toLowerCase().trim() !== filter.value.toLowerCase().trim()) {
|
||||
filterAcceptCount++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (result && result.toLowerCase().trim().indexOf(filter.value.toLowerCase().trim()) === -1) {
|
||||
filterAcceptCount++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'in':
|
||||
if (filter.value.indexOf(result) !== -1) {
|
||||
if (wholeWord) {
|
||||
if (result && result.toLowerCase().trim() === filter.value.toLowerCase().trim()) {
|
||||
filterAcceptCount++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (result && result.toLowerCase().trim().indexOf(filter.value.toLowerCase().trim()) > -1) {
|
||||
filterAcceptCount++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
|
Loading…
Add table
Reference in a new issue