mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 18:34:52 -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
32 lines
977 B
TypeScript
32 lines
977 B
TypeScript
import { getBackendSrv } from '@grafana/runtime';
|
|
|
|
import { PipelineListOption, PipeLineEntitiesInfo } from './types';
|
|
|
|
export async function getPipeLineEntities(): Promise<PipeLineEntitiesInfo> {
|
|
return await getBackendSrv()
|
|
.get(`api/live/pipeline-entities`)
|
|
.then((data) => {
|
|
return {
|
|
converter: transformLabel(data, 'converters'),
|
|
frameProcessors: transformLabel(data, 'frameProcessors'),
|
|
frameOutputs: transformLabel(data, 'frameOutputs'),
|
|
getExample: (ruleType, type) => {
|
|
return data[`${ruleType}s`]?.filter((option: PipelineListOption) => option.type === type)?.[0]?.['example'];
|
|
},
|
|
};
|
|
});
|
|
}
|
|
|
|
export function transformLabel(data: any, key: keyof typeof data) {
|
|
if (Array.isArray(data)) {
|
|
return data.map((d) => ({
|
|
label: d[key],
|
|
value: d[key],
|
|
}));
|
|
}
|
|
return data[key].map((typeObj: PipelineListOption) => ({
|
|
label: typeObj.type,
|
|
value: typeObj.type,
|
|
}));
|
|
}
|