mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* CloudWatch: Fix strict typscript errors * Update public/app/plugins/datasource/cloudwatch/components/ConfigEditor.tsx Co-authored-by: Sarah Zinger <sarahzinger@users.noreply.github.com> * Chore: reduce strict error * Update ci-check-strict.sh Co-authored-by: Sarah Zinger <sarahzinger@users.noreply.github.com> Co-authored-by: Hugo Häggmark <hugo.haggmark@gmail.com>
46 lines
1.7 KiB
TypeScript
46 lines
1.7 KiB
TypeScript
import { AnnotationQuery, DataQuery } from '@grafana/data';
|
|
import { getNextRefIdChar } from 'app/core/utils/query';
|
|
import { CloudWatchAnnotationQuery, CloudWatchMetricsQuery } from './types';
|
|
|
|
export function migrateMultipleStatsMetricsQuery(
|
|
query: CloudWatchMetricsQuery,
|
|
panelQueries: DataQuery[]
|
|
): DataQuery[] {
|
|
const newQueries = [];
|
|
if (query?.statistics && query?.statistics.length) {
|
|
query.statistic = query.statistics[0];
|
|
for (const stat of query.statistics.splice(1)) {
|
|
newQueries.push({ ...query, statistic: stat });
|
|
}
|
|
}
|
|
for (const newTarget of newQueries) {
|
|
newTarget.refId = getNextRefIdChar(panelQueries);
|
|
delete newTarget.statistics;
|
|
panelQueries.push(newTarget);
|
|
}
|
|
delete query.statistics;
|
|
|
|
return newQueries;
|
|
}
|
|
|
|
export function migrateMultipleStatsAnnotationQuery(
|
|
annotationQuery: CloudWatchAnnotationQuery
|
|
): Array<AnnotationQuery<DataQuery>> {
|
|
const newAnnotations: CloudWatchAnnotationQuery[] = [];
|
|
|
|
if (annotationQuery && 'statistics' in annotationQuery && annotationQuery?.statistics?.length) {
|
|
for (const stat of annotationQuery.statistics.splice(1)) {
|
|
const { statistics, name, ...newAnnotation } = annotationQuery;
|
|
newAnnotations.push({ ...newAnnotation, statistic: stat, name: `${name} - ${stat}` });
|
|
}
|
|
annotationQuery.statistic = annotationQuery.statistics[0];
|
|
// Only change the name of the original if new annotations have been created
|
|
if (newAnnotations.length !== 0) {
|
|
annotationQuery.name = `${annotationQuery.name} - ${annotationQuery.statistic}`;
|
|
}
|
|
delete annotationQuery.statistics;
|
|
}
|
|
|
|
return newAnnotations as Array<AnnotationQuery<DataQuery>>;
|
|
}
|