mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-08-16 14:55:59 +08:00
fix: [alerts] solved legend not updating issue in ch query editor (#1757)
* fix: [alerts] solved legend not updating issue in ch query editor * fix: [alerts]removed console.log * fix: added jsdoc description tag
This commit is contained in:
parent
4b3829fd5b
commit
7cec2db503
@ -3,6 +3,8 @@ import { IClickHouseQueryHandleChange } from 'container/NewWidget/LeftContainer/
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { IChQueries } from 'types/api/alerts/compositeQuery';
|
import { IChQueries } from 'types/api/alerts/compositeQuery';
|
||||||
|
|
||||||
|
import { rawQueryToIChQuery, toIClickHouseQuery } from './transform';
|
||||||
|
|
||||||
function ChQuerySection({
|
function ChQuerySection({
|
||||||
chQueries,
|
chQueries,
|
||||||
setChQueries,
|
setChQueries,
|
||||||
@ -12,34 +14,25 @@ function ChQuerySection({
|
|||||||
legend,
|
legend,
|
||||||
toggleDelete,
|
toggleDelete,
|
||||||
}: IClickHouseQueryHandleChange): void => {
|
}: IClickHouseQueryHandleChange): void => {
|
||||||
let chQuery = chQueries.A;
|
const chQuery = rawQueryToIChQuery(
|
||||||
|
chQueries.A,
|
||||||
|
rawQuery,
|
||||||
|
legend,
|
||||||
|
toggleDelete,
|
||||||
|
);
|
||||||
|
|
||||||
if (rawQuery) {
|
|
||||||
chQuery.rawQuery = rawQuery;
|
|
||||||
chQuery.query = rawQuery;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (legend) chQuery.legend = legend;
|
|
||||||
if (toggleDelete) {
|
|
||||||
chQuery = {
|
|
||||||
rawQuery: '',
|
|
||||||
legend: '',
|
|
||||||
name: 'A',
|
|
||||||
disabled: false,
|
|
||||||
query: '',
|
|
||||||
};
|
|
||||||
}
|
|
||||||
setChQueries({
|
setChQueries({
|
||||||
A: {
|
A: {
|
||||||
...chQuery,
|
...chQuery,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ClickHouseQueryBuilder
|
<ClickHouseQueryBuilder
|
||||||
key="A"
|
key="A"
|
||||||
queryIndex="A"
|
queryIndex="A"
|
||||||
queryData={{ ...chQueries?.A, name: 'A', rawQuery: chQueries?.A.query }}
|
queryData={toIClickHouseQuery(chQueries?.A)}
|
||||||
handleQueryChange={handleChQueryChange}
|
handleQueryChange={handleChQueryChange}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
@ -0,0 +1,3 @@
|
|||||||
|
import ChQuerySection from './ChQuerySection';
|
||||||
|
|
||||||
|
export default ChQuerySection;
|
@ -0,0 +1,37 @@
|
|||||||
|
import { IChQuery } from 'types/api/alerts/compositeQuery';
|
||||||
|
import { IClickHouseQuery } from 'types/api/dashboard/getAll';
|
||||||
|
|
||||||
|
// @description rawQueryToIChQuery transforms raw query (from ClickHouseQueryBuilder)
|
||||||
|
// to alert specific IChQuery format
|
||||||
|
export const rawQueryToIChQuery = (
|
||||||
|
src: IChQuery,
|
||||||
|
rawQuery: string | undefined,
|
||||||
|
legend: string | undefined,
|
||||||
|
toggleDelete: boolean | undefined,
|
||||||
|
): IChQuery => {
|
||||||
|
if (toggleDelete) {
|
||||||
|
return {
|
||||||
|
rawQuery: '',
|
||||||
|
legend: '',
|
||||||
|
name: 'A',
|
||||||
|
disabled: false,
|
||||||
|
query: '',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
rawQuery: rawQuery !== undefined ? rawQuery : src.rawQuery,
|
||||||
|
query: rawQuery !== undefined ? rawQuery : src.rawQuery,
|
||||||
|
legend: legend !== undefined ? legend : src.legend,
|
||||||
|
name: 'A',
|
||||||
|
disabled: false,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// @description toIClickHouseQuery transforms IChQuery (alert specific) to
|
||||||
|
// ClickHouseQueryBuilder format. The main difference is
|
||||||
|
// use of rawQuery (in ClickHouseQueryBuilder)
|
||||||
|
// and query (in alert builder)
|
||||||
|
export const toIClickHouseQuery = (src: IChQuery): IClickHouseQuery => {
|
||||||
|
return { ...src, name: 'A', rawQuery: src.query };
|
||||||
|
};
|
@ -54,6 +54,7 @@ function ClickHouseQueryBuilder({
|
|||||||
}
|
}
|
||||||
size="middle"
|
size="middle"
|
||||||
defaultValue={queryData.legend}
|
defaultValue={queryData.legend}
|
||||||
|
value={queryData.legend}
|
||||||
addonBefore="Legend Format"
|
addonBefore="Legend Format"
|
||||||
/>
|
/>
|
||||||
</QueryHeader>
|
</QueryHeader>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user