filter multiple values

This commit is contained in:
Jan Prochazka
2020-05-13 21:27:05 +02:00
parent 7d844fe892
commit 54fc03ec04
3 changed files with 176 additions and 57 deletions

View File

@@ -1,4 +1,44 @@
export type FilterMultipleValuesMode = 'is' | 'is_not' | 'contains' | 'begins' | 'ends';
export function getFilterValueExpression(value) {
if (value == null) return 'NULL';
return `="${value}"`;
}
export function createMultiLineFilter(mode: FilterMultipleValuesMode, text: string) {
let res = '';
for (let line of text.split('\n')) {
line = line.trim();
if (line.length == 0) continue;
if (res.length > 0) {
switch (mode) {
case 'is_not':
res += ' ';
break;
default:
res += ',';
break;
}
}
switch (mode) {
case 'is':
res += "='" + line + "'";
break;
case 'is_not':
res += "<>'" + line + "'";
break;
case 'contains':
res += "'" + line + "'";
break;
case 'begins':
res += "^'" + line + "'";
break;
case 'ends':
res += "$'" + line + "'";
break;
}
}
return res;
}