|
|
@@ -33,7 +33,7 @@ import {
|
|
|
} from 'app/types/explore';
|
|
|
|
|
|
import { Emitter } from 'app/core/core';
|
|
|
-import { RawTimeRange, TimeRange } from '@grafana/ui';
|
|
|
+import { RawTimeRange, TimeRange, DataSourceApi } from '@grafana/ui';
|
|
|
import {
|
|
|
Action as ThunkableAction,
|
|
|
ActionTypes,
|
|
|
@@ -216,11 +216,11 @@ export const loadDatasourceMissing = (exploreId: ExploreId): LoadDatasourceMissi
|
|
|
/**
|
|
|
* Start the async process of loading a datasource to display a loading indicator
|
|
|
*/
|
|
|
-export const loadDatasourcePending = (exploreId: ExploreId, datasourceId: number): LoadDatasourcePendingAction => ({
|
|
|
+export const loadDatasourcePending = (exploreId: ExploreId, datasourceName: string): LoadDatasourcePendingAction => ({
|
|
|
type: ActionTypes.LoadDatasourcePending,
|
|
|
payload: {
|
|
|
exploreId,
|
|
|
- datasourceId,
|
|
|
+ datasourceName,
|
|
|
},
|
|
|
});
|
|
|
|
|
|
@@ -266,12 +266,12 @@ export const loadDatasourceSuccess = (
|
|
|
/**
|
|
|
* Main action to asynchronously load a datasource. Dispatches lots of smaller actions for feedback.
|
|
|
*/
|
|
|
-export function loadDatasource(exploreId: ExploreId, instance: any): ThunkResult<void> {
|
|
|
+export function loadDatasource(exploreId: ExploreId, instance: DataSourceApi): ThunkResult<void> {
|
|
|
return async (dispatch, getState) => {
|
|
|
- const datasourceId = instance.meta.id;
|
|
|
+ const datasourceName = instance.name;
|
|
|
|
|
|
// Keep ID to track selection
|
|
|
- dispatch(loadDatasourcePending(exploreId, datasourceId));
|
|
|
+ dispatch(loadDatasourcePending(exploreId, datasourceName));
|
|
|
|
|
|
let datasourceError = null;
|
|
|
try {
|
|
|
@@ -280,12 +280,13 @@ export function loadDatasource(exploreId: ExploreId, instance: any): ThunkResult
|
|
|
} catch (error) {
|
|
|
datasourceError = (error && error.statusText) || 'Network error';
|
|
|
}
|
|
|
+
|
|
|
if (datasourceError) {
|
|
|
dispatch(loadDatasourceFailure(exploreId, datasourceError));
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- if (datasourceId !== getState().explore[exploreId].requestedDatasourceId) {
|
|
|
+ if (datasourceName !== getState().explore[exploreId].requestedDatasourceName) {
|
|
|
// User already changed datasource again, discard results
|
|
|
return;
|
|
|
}
|
|
|
@@ -311,7 +312,7 @@ export function loadDatasource(exploreId: ExploreId, instance: any): ThunkResult
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (datasourceId !== getState().explore[exploreId].requestedDatasourceId) {
|
|
|
+ if (datasourceName !== getState().explore[exploreId].requestedDatasourceName) {
|
|
|
// User already changed datasource again, discard results
|
|
|
return;
|
|
|
}
|