perf(dashboard): improve chart when only one value exists

This commit is contained in:
Carl-Gerhard Lindesvärd
2024-09-05 17:12:18 +02:00
parent e6ebb2c11f
commit 92fd302648

View File

@@ -176,9 +176,13 @@ export function getEventFiltersWhereClause(filters: IChartEventFilter[]) {
.map((val) => `x = ${escape(String(val).trim())}`) .map((val) => `x = ${escape(String(val).trim())}`)
.join(' OR ')}, ${whereFrom})`; .join(' OR ')}, ${whereFrom})`;
} else { } else {
where[id] = `${whereFrom} IN (${value if (value.length === 1) {
.map((val) => escape(String(val).trim())) where[id] = `${whereFrom} = ${escape(String(value[0]).trim())}`;
.join(', ')})`; } else {
where[id] = `${whereFrom} IN (${value
.map((val) => escape(String(val).trim()))
.join(', ')})`;
}
} }
break; break;
} }
@@ -188,9 +192,13 @@ export function getEventFiltersWhereClause(filters: IChartEventFilter[]) {
.map((val) => `x != ${escape(String(val).trim())}`) .map((val) => `x != ${escape(String(val).trim())}`)
.join(' OR ')}, ${whereFrom})`; .join(' OR ')}, ${whereFrom})`;
} else { } else {
where[id] = `${whereFrom} NOT IN (${value if (value.length === 1) {
.map((val) => escape(String(val).trim())) where[id] = `${whereFrom} != ${escape(String(value[0]).trim())}`;
.join(', ')})`; } else {
where[id] = `${whereFrom} NOT IN (${value
.map((val) => escape(String(val).trim()))
.join(', ')})`;
}
} }
break; break;
} }
@@ -270,15 +278,23 @@ export function getEventFiltersWhereClause(filters: IChartEventFilter[]) {
} else { } else {
switch (operator) { switch (operator) {
case 'is': { case 'is': {
where[id] = `${name} IN (${value if (value.length === 1) {
.map((val) => escape(String(val).trim())) where[id] = `${name} = ${escape(String(value[0]).trim())}`;
.join(', ')})`; } else {
where[id] = `${name} IN (${value
.map((val) => escape(String(val).trim()))
.join(', ')})`;
}
break; break;
} }
case 'isNot': { case 'isNot': {
where[id] = `${name} NOT IN (${value if (value.length === 1) {
.map((val) => escape(String(val).trim())) where[id] = `${name} != ${escape(String(value[0]).trim())}`;
.join(', ')})`; } else {
where[id] = `${name} NOT IN (${value
.map((val) => escape(String(val).trim()))
.join(', ')})`;
}
break; break;
} }
case 'contains': { case 'contains': {