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:
Amol Umbark 2022-11-25 12:16:47 +05:30 committed by GitHub
parent 4b3829fd5b
commit 7cec2db503
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 51 additions and 17 deletions

View File

@ -3,6 +3,8 @@ import { IClickHouseQueryHandleChange } from 'container/NewWidget/LeftContainer/
import React from 'react';
import { IChQueries } from 'types/api/alerts/compositeQuery';
import { rawQueryToIChQuery, toIClickHouseQuery } from './transform';
function ChQuerySection({
chQueries,
setChQueries,
@ -12,34 +14,25 @@ function ChQuerySection({
legend,
toggleDelete,
}: 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({
A: {
...chQuery,
},
});
};
return (
<ClickHouseQueryBuilder
key="A"
queryIndex="A"
queryData={{ ...chQueries?.A, name: 'A', rawQuery: chQueries?.A.query }}
queryData={toIClickHouseQuery(chQueries?.A)}
handleQueryChange={handleChQueryChange}
/>
);

View File

@ -0,0 +1,3 @@
import ChQuerySection from './ChQuerySection';
export default ChQuerySection;

View File

@ -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 };
};

View File

@ -54,6 +54,7 @@ function ClickHouseQueryBuilder({
}
size="middle"
defaultValue={queryData.legend}
value={queryData.legend}
addonBefore="Legend Format"
/>
</QueryHeader>