fix: multiple queries in alerting regression (#44585)

This commit is contained in:
Gilles De Mey 2022-01-28 16:05:19 +01:00 committed by GitHub
parent 45a435ad78
commit 26ddeaf3d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -17,6 +17,7 @@ import { queriesWithUpdatedReferences } from './util';
import { Button, Card, Icon } from '@grafana/ui';
import { QueryOperationRow } from 'app/core/components/QueryOperationRow/QueryOperationRow';
import { getDatasourceSrv } from 'app/features/plugins/datasource_srv';
import { omit } from 'lodash';
interface Props {
// The query configuration
@ -108,19 +109,7 @@ export class QueryRows extends PureComponent<Props, State> {
return item;
}
const previous = getDataSourceSrv().getInstanceSettings(item.datasourceUid);
if (previous?.type === settings.uid) {
return {
...item,
datasourceUid: settings.uid,
};
}
return {
...item,
datasourceUid: settings.uid,
};
return copyModel(item, settings.uid);
});
onQueriesChange(updatedQueries);
};
@ -291,6 +280,14 @@ export class QueryRows extends PureComponent<Props, State> {
}
}
function copyModel(item: AlertQuery, uid: string): Omit<AlertQuery, 'datasource'> {
return {
...item,
model: omit(item.model, 'datasource'),
datasourceUid: uid,
};
}
interface DatasourceNotFoundProps {
index: number;
model: AlertDataQuery;