mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
OpenTSDB: use an effect to get aggregators and filters (#68785)
* only update state if it's different * use an effect
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { css } from '@emotion/css';
|
||||
import React, { useState } from 'react';
|
||||
import React, { useEffect, useState } from 'react';
|
||||
|
||||
import { GrafanaTheme2, QueryEditorProps, textUtil } from '@grafana/data';
|
||||
import { useStyles2 } from '@grafana/ui';
|
||||
@@ -62,17 +62,21 @@ export function OpenTsdbQueryEditor({
|
||||
query.downsampleFillPolicy = 'none';
|
||||
}
|
||||
|
||||
datasource.getAggregators().then((aggs: string[]) => {
|
||||
if (aggs.length !== 0) {
|
||||
setAggregators(aggs);
|
||||
}
|
||||
});
|
||||
useEffect(() => {
|
||||
datasource.getAggregators().then((aggs: string[]) => {
|
||||
if (aggs.length !== 0) {
|
||||
setAggregators(aggs);
|
||||
}
|
||||
});
|
||||
}, [datasource]);
|
||||
|
||||
datasource.getFilterTypes().then((filterTypes: string[]) => {
|
||||
if (filterTypes.length !== 0) {
|
||||
setFilterTypes(filterTypes);
|
||||
}
|
||||
});
|
||||
useEffect(() => {
|
||||
datasource.getFilterTypes().then((newFilterTypes: string[]) => {
|
||||
if (newFilterTypes.length !== 0) {
|
||||
setFilterTypes(newFilterTypes);
|
||||
}
|
||||
});
|
||||
}, [datasource]);
|
||||
|
||||
async function suggestMetrics(value: string): Promise<Array<{ value: string; description: string }>> {
|
||||
return datasource.metricFindQuery(`metrics(${value})`).then(getTextValues);
|
||||
|
||||
Reference in New Issue
Block a user