perf(dashboard): improve chart when only one value exists
This commit is contained in:
@@ -175,11 +175,15 @@ export function getEventFiltersWhereClause(filters: IChartEventFilter[]) {
|
|||||||
where[id] = `arrayExists(x -> ${value
|
where[id] = `arrayExists(x -> ${value
|
||||||
.map((val) => `x = ${escape(String(val).trim())}`)
|
.map((val) => `x = ${escape(String(val).trim())}`)
|
||||||
.join(' OR ')}, ${whereFrom})`;
|
.join(' OR ')}, ${whereFrom})`;
|
||||||
|
} else {
|
||||||
|
if (value.length === 1) {
|
||||||
|
where[id] = `${whereFrom} = ${escape(String(value[0]).trim())}`;
|
||||||
} else {
|
} else {
|
||||||
where[id] = `${whereFrom} IN (${value
|
where[id] = `${whereFrom} IN (${value
|
||||||
.map((val) => escape(String(val).trim()))
|
.map((val) => escape(String(val).trim()))
|
||||||
.join(', ')})`;
|
.join(', ')})`;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'isNot': {
|
case 'isNot': {
|
||||||
@@ -187,11 +191,15 @@ export function getEventFiltersWhereClause(filters: IChartEventFilter[]) {
|
|||||||
where[id] = `arrayExists(x -> ${value
|
where[id] = `arrayExists(x -> ${value
|
||||||
.map((val) => `x != ${escape(String(val).trim())}`)
|
.map((val) => `x != ${escape(String(val).trim())}`)
|
||||||
.join(' OR ')}, ${whereFrom})`;
|
.join(' OR ')}, ${whereFrom})`;
|
||||||
|
} else {
|
||||||
|
if (value.length === 1) {
|
||||||
|
where[id] = `${whereFrom} != ${escape(String(value[0]).trim())}`;
|
||||||
} else {
|
} else {
|
||||||
where[id] = `${whereFrom} NOT IN (${value
|
where[id] = `${whereFrom} NOT IN (${value
|
||||||
.map((val) => escape(String(val).trim()))
|
.map((val) => escape(String(val).trim()))
|
||||||
.join(', ')})`;
|
.join(', ')})`;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'contains': {
|
case 'contains': {
|
||||||
@@ -270,15 +278,23 @@ export function getEventFiltersWhereClause(filters: IChartEventFilter[]) {
|
|||||||
} else {
|
} else {
|
||||||
switch (operator) {
|
switch (operator) {
|
||||||
case 'is': {
|
case 'is': {
|
||||||
|
if (value.length === 1) {
|
||||||
|
where[id] = `${name} = ${escape(String(value[0]).trim())}`;
|
||||||
|
} else {
|
||||||
where[id] = `${name} IN (${value
|
where[id] = `${name} IN (${value
|
||||||
.map((val) => escape(String(val).trim()))
|
.map((val) => escape(String(val).trim()))
|
||||||
.join(', ')})`;
|
.join(', ')})`;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'isNot': {
|
case 'isNot': {
|
||||||
|
if (value.length === 1) {
|
||||||
|
where[id] = `${name} != ${escape(String(value[0]).trim())}`;
|
||||||
|
} else {
|
||||||
where[id] = `${name} NOT IN (${value
|
where[id] = `${name} NOT IN (${value
|
||||||
.map((val) => escape(String(val).trim()))
|
.map((val) => escape(String(val).trim()))
|
||||||
.join(', ')})`;
|
.join(', ')})`;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'contains': {
|
case 'contains': {
|
||||||
|
|||||||
Reference in New Issue
Block a user