mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
FieldDisplay: Return field defaults when there are no data (#18357)
This commit is contained in:
committed by
Ryan McKinley
parent
7e89a93b5f
commit
202c136238
@@ -135,4 +135,30 @@ describe('FieldDisplay', () => {
|
|||||||
expect(field.thresholds!.length).toEqual(2);
|
expect(field.thresholds!.length).toEqual(2);
|
||||||
expect(field.thresholds![0].value).toBe(-Infinity);
|
expect(field.thresholds![0].value).toBe(-Infinity);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('Should return field thresholds when there is no data', () => {
|
||||||
|
const options: GetFieldDisplayValuesOptions = {
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
name: 'No data',
|
||||||
|
fields: [],
|
||||||
|
rows: [],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
replaceVariables: (value: string) => {
|
||||||
|
return value;
|
||||||
|
},
|
||||||
|
fieldOptions: {
|
||||||
|
calcs: [],
|
||||||
|
override: {},
|
||||||
|
defaults: {
|
||||||
|
thresholds: [{ color: '#F2495C', value: 50 }],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
theme: getTheme(GrafanaThemeType.Dark),
|
||||||
|
};
|
||||||
|
|
||||||
|
const display = getFieldDisplayValues(options);
|
||||||
|
expect(display[0].field.thresholds!.length).toEqual(1);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -182,7 +182,10 @@ export const getFieldDisplayValues = (options: GetFieldDisplayValuesOptions): Fi
|
|||||||
|
|
||||||
if (values.length === 0) {
|
if (values.length === 0) {
|
||||||
values.push({
|
values.push({
|
||||||
field: { name: 'No Data' },
|
field: {
|
||||||
|
...defaults,
|
||||||
|
name: 'No Data',
|
||||||
|
},
|
||||||
display: {
|
display: {
|
||||||
numeric: 0,
|
numeric: 0,
|
||||||
text: 'No data',
|
text: 'No data',
|
||||||
@@ -244,6 +247,7 @@ type PartialField = Partial<Field>;
|
|||||||
|
|
||||||
export function getFieldProperties(...props: PartialField[]): Field {
|
export function getFieldProperties(...props: PartialField[]): Field {
|
||||||
let field = props[0] as Field;
|
let field = props[0] as Field;
|
||||||
|
|
||||||
for (let i = 1; i < props.length; i++) {
|
for (let i = 1; i < props.length; i++) {
|
||||||
field = applyFieldProperties(field, props[i]);
|
field = applyFieldProperties(field, props[i]);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user