mirror of
https://github.com/grafana/grafana.git
synced 2025-02-15 10:03:33 -06:00
Canvas: Fix field not found (#68415)
This commit is contained in:
parent
d3ae8df357
commit
92d865ccce
@ -31,7 +31,10 @@ export function frameHasName(name: string | undefined, names: FrameFieldsDisplay
|
||||
/**
|
||||
* Returns the distinct names in a set of frames
|
||||
*/
|
||||
function getFrameFieldsDisplayNames(data: DataFrame[], filter?: (field: Field) => boolean): FrameFieldsDisplayNames {
|
||||
export function getFrameFieldsDisplayNames(
|
||||
data: DataFrame[],
|
||||
filter?: (field: Field) => boolean
|
||||
): FrameFieldsDisplayNames {
|
||||
const names: FrameFieldsDisplayNames = {
|
||||
display: new Set<string>(),
|
||||
raw: new Set<string>(),
|
||||
|
@ -7,11 +7,12 @@ import { DataFrame, FieldNamePickerConfigSettings, GrafanaTheme2, StandardEditor
|
||||
import { TextDimensionMode } from '@grafana/schema';
|
||||
import { usePanelContext, useStyles2 } from '@grafana/ui';
|
||||
import { FieldNamePicker } from '@grafana/ui/src/components/MatchersUI/FieldNamePicker';
|
||||
import { frameHasName, getFrameFieldsDisplayNames } from '@grafana/ui/src/components/MatchersUI/utils';
|
||||
import { DimensionContext } from 'app/features/dimensions/context';
|
||||
import { ColorDimensionEditor } from 'app/features/dimensions/editors/ColorDimensionEditor';
|
||||
import { TextDimensionEditor } from 'app/features/dimensions/editors/TextDimensionEditor';
|
||||
import { getDataLinks } from 'app/plugins/panel/canvas/utils';
|
||||
|
||||
import { getDataLinks } from '../../../plugins/panel/canvas/utils';
|
||||
import { CanvasElementItem, CanvasElementProps, defaultBgColor, defaultTextColor } from '../element';
|
||||
import { ElementState } from '../runtime/element';
|
||||
import { Align, TextConfig, TextData, VAlign } from '../types';
|
||||
@ -37,12 +38,16 @@ const MetricValueDisplay = (props: CanvasElementProps<TextConfig, TextData>) =>
|
||||
return 'Field not found';
|
||||
}
|
||||
|
||||
if (panelData && config.text?.field && !data?.text) {
|
||||
return 'No data';
|
||||
}
|
||||
|
||||
return data?.text ? data.text : 'Double click to set field';
|
||||
};
|
||||
|
||||
const fieldNotFound = () => {
|
||||
const field = panelData.filter((series) => series.fields.find((field) => field.name === config.text?.field));
|
||||
return !field.length;
|
||||
const fieldNames = getFrameFieldsDisplayNames(panelData);
|
||||
return !frameHasName(config.text?.field, fieldNames);
|
||||
};
|
||||
|
||||
if (isEditMode && isSelected) {
|
||||
|
Loading…
Reference in New Issue
Block a user