mirror of
https://git.mirrors.martin98.com/https://github.com/SigNoz/signoz
synced 2025-08-14 17:25:57 +08:00
feat: support for legend in query builderformulas (#1530)
This commit is contained in:
parent
f48a884f90
commit
5e0eb05a9c
@ -30,4 +30,5 @@ export const QueryBuilderQueryTemplate = {
|
|||||||
export const QueryBuilderFormulaTemplate = {
|
export const QueryBuilderFormulaTemplate = {
|
||||||
expression: '',
|
expression: '',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
|
legend: '',
|
||||||
};
|
};
|
||||||
|
@ -68,15 +68,20 @@ function QuerySection({
|
|||||||
const handleFormulaChange = ({
|
const handleFormulaChange = ({
|
||||||
formulaIndex,
|
formulaIndex,
|
||||||
expression,
|
expression,
|
||||||
|
legend,
|
||||||
toggleDisable,
|
toggleDisable,
|
||||||
toggleDelete,
|
toggleDelete,
|
||||||
}: IQueryBuilderFormulaHandleChange): void => {
|
}: IQueryBuilderFormulaHandleChange): void => {
|
||||||
const allFormulas = formulaQueries;
|
const allFormulas = formulaQueries;
|
||||||
const current = allFormulas[formulaIndex];
|
const current = allFormulas[formulaIndex];
|
||||||
if (expression) {
|
if (expression !== undefined) {
|
||||||
current.expression = expression;
|
current.expression = expression;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (legend !== undefined) {
|
||||||
|
current.legend = legend;
|
||||||
|
}
|
||||||
|
|
||||||
if (toggleDisable) {
|
if (toggleDisable) {
|
||||||
current.disabled = !current.disabled;
|
current.disabled = !current.disabled;
|
||||||
}
|
}
|
||||||
@ -179,6 +184,7 @@ function QuerySection({
|
|||||||
formulaOnly: true,
|
formulaOnly: true,
|
||||||
expression: 'A',
|
expression: 'A',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
|
legend: '',
|
||||||
};
|
};
|
||||||
|
|
||||||
setFormulaQueries({ ...formulas });
|
setFormulaQueries({ ...formulas });
|
||||||
|
@ -37,6 +37,14 @@ function MetricsBuilderFormula({
|
|||||||
style={{ marginBottom: '0.5rem' }}
|
style={{ marginBottom: '0.5rem' }}
|
||||||
rows={2}
|
rows={2}
|
||||||
/>
|
/>
|
||||||
|
<Input
|
||||||
|
onChange={(event): void => {
|
||||||
|
handleFormulaChange({ formulaIndex, legend: event.target.value });
|
||||||
|
}}
|
||||||
|
size="middle"
|
||||||
|
defaultValue={formulaData.legend}
|
||||||
|
addonBefore="Legend Format"
|
||||||
|
/>
|
||||||
</QueryHeader>
|
</QueryHeader>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -85,6 +85,7 @@ function QueryBuilderQueryContainer({
|
|||||||
const handleQueryBuilderFormulaChange = ({
|
const handleQueryBuilderFormulaChange = ({
|
||||||
formulaIndex,
|
formulaIndex,
|
||||||
expression,
|
expression,
|
||||||
|
legend,
|
||||||
toggleDisable,
|
toggleDisable,
|
||||||
toggleDelete,
|
toggleDelete,
|
||||||
}: IQueryBuilderFormulaHandleChange): void => {
|
}: IQueryBuilderFormulaHandleChange): void => {
|
||||||
@ -94,9 +95,12 @@ function QueryBuilderQueryContainer({
|
|||||||
];
|
];
|
||||||
const currentIndexFormula = allFormulas[formulaIndex as number];
|
const currentIndexFormula = allFormulas[formulaIndex as number];
|
||||||
|
|
||||||
if (expression) {
|
if (expression !== undefined) {
|
||||||
currentIndexFormula.expression = expression;
|
currentIndexFormula.expression = expression;
|
||||||
}
|
}
|
||||||
|
if (legend !== undefined) {
|
||||||
|
currentIndexFormula.legend = legend;
|
||||||
|
}
|
||||||
|
|
||||||
if (toggleDisable) {
|
if (toggleDisable) {
|
||||||
currentIndexFormula.disabled = !currentIndexFormula.disabled;
|
currentIndexFormula.disabled = !currentIndexFormula.disabled;
|
||||||
|
@ -19,5 +19,6 @@ export interface IQueryBuilderFormulaHandleChange {
|
|||||||
formulaIndex: number | string;
|
formulaIndex: number | string;
|
||||||
expression?: IMetricsBuilderFormula['expression'];
|
expression?: IMetricsBuilderFormula['expression'];
|
||||||
toggleDisable?: IMetricsBuilderFormula['disabled'];
|
toggleDisable?: IMetricsBuilderFormula['disabled'];
|
||||||
|
legend?: IMetricsBuilderFormula['legend'];
|
||||||
toggleDelete?: boolean;
|
toggleDelete?: boolean;
|
||||||
}
|
}
|
||||||
|
@ -76,9 +76,11 @@ export async function GetMetricQueryRange({
|
|||||||
|
|
||||||
queryData[WIDGET_QUERY_BUILDER_FORMULA_KEY_NAME].map((formula) => {
|
queryData[WIDGET_QUERY_BUILDER_FORMULA_KEY_NAME].map((formula) => {
|
||||||
const generatedFormulaPayload = {};
|
const generatedFormulaPayload = {};
|
||||||
|
legendMap[formula.name] = formula.legend || formula.name;
|
||||||
generatedFormulaPayload.queryName = formula.name;
|
generatedFormulaPayload.queryName = formula.name;
|
||||||
generatedFormulaPayload.expression = formula.expression;
|
generatedFormulaPayload.expression = formula.expression;
|
||||||
generatedFormulaPayload.disabled = formula.disabled;
|
generatedFormulaPayload.disabled = formula.disabled;
|
||||||
|
generatedFormulaPayload.legend = formula.legend;
|
||||||
builderQueries[formula.name] = generatedFormulaPayload;
|
builderQueries[formula.name] = generatedFormulaPayload;
|
||||||
});
|
});
|
||||||
QueryPayload.compositeMetricQuery.builderQueries = builderQueries;
|
QueryPayload.compositeMetricQuery.builderQueries = builderQueries;
|
||||||
|
@ -28,10 +28,9 @@ export interface IBuilderQueries {
|
|||||||
// for api calls
|
// for api calls
|
||||||
export interface IBuilderQuery
|
export interface IBuilderQuery
|
||||||
extends Omit<
|
extends Omit<
|
||||||
IMetricQuery,
|
IMetricQuery,
|
||||||
'aggregateOperator' | 'legend' | 'metricName' | 'tagFilters'
|
'aggregateOperator' | 'legend' | 'metricName' | 'tagFilters'
|
||||||
>,
|
> {
|
||||||
Omit<IFormulaQuery, 'expression'> {
|
|
||||||
aggregateOperator: EAggregateOperator | undefined;
|
aggregateOperator: EAggregateOperator | undefined;
|
||||||
disabled: boolean;
|
disabled: boolean;
|
||||||
name: string;
|
name: string;
|
||||||
|
@ -71,6 +71,7 @@ export interface IMetricsBuilderFormula {
|
|||||||
expression: string;
|
expression: string;
|
||||||
disabled: boolean;
|
disabled: boolean;
|
||||||
name: string;
|
name: string;
|
||||||
|
legend: string;
|
||||||
}
|
}
|
||||||
export interface IMetricsBuilderQuery {
|
export interface IMetricsBuilderQuery {
|
||||||
aggregateOperator: EAggregateOperator;
|
aggregateOperator: EAggregateOperator;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user