mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 00:55:47 -06:00
* Add and configure eslint-plugin-import * Fix the lint:ts npm command * Autofix + prettier all the files * Manually fix remaining files * Move jquery code in jest-setup to external file to safely reorder imports * Resolve issue caused by circular dependencies within Prometheus * Update .betterer.results * Fix missing // @ts-ignore * ignore iconBundle.ts * Fix missing // @ts-ignore
26 lines
663 B
TypeScript
26 lines
663 B
TypeScript
import { useMemo } from 'react';
|
|
|
|
import { DataFrame, getFieldDisplayName } from '@grafana/data';
|
|
|
|
export function useAllFieldNamesFromDataFrames(input: DataFrame[]): string[] {
|
|
return useMemo(() => {
|
|
if (!Array.isArray(input)) {
|
|
return [];
|
|
}
|
|
|
|
return Object.keys(
|
|
input.reduce((names, frame) => {
|
|
if (!frame || !Array.isArray(frame.fields)) {
|
|
return names;
|
|
}
|
|
|
|
return frame.fields.reduce((names, field) => {
|
|
const t = getFieldDisplayName(field, frame, input);
|
|
names[t] = true;
|
|
return names;
|
|
}, names);
|
|
}, {} as Record<string, boolean>)
|
|
);
|
|
}, [input]);
|
|
}
|