|
|
|
@ -122,7 +122,11 @@ export function addQueryRow(exploreId: ExploreId, index: number): ThunkResult<vo |
|
|
|
|
/** |
|
|
|
|
* Loads a new datasource identified by the given name. |
|
|
|
|
*/ |
|
|
|
|
export function changeDatasource(exploreId: ExploreId, datasourceName: string): ThunkResult<void> { |
|
|
|
|
export function changeDatasource( |
|
|
|
|
exploreId: ExploreId, |
|
|
|
|
datasourceName: string, |
|
|
|
|
options?: { importQueries: boolean } |
|
|
|
|
): ThunkResult<void> { |
|
|
|
|
return async (dispatch, getState) => { |
|
|
|
|
let newDataSourceInstance: DataSourceApi; |
|
|
|
|
|
|
|
|
@ -150,7 +154,9 @@ export function changeDatasource(exploreId: ExploreId, datasourceName: string): |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
await dispatch(importQueries(exploreId, queries, currentDataSourceInstance, newDataSourceInstance)); |
|
|
|
|
if (options?.importQueries) { |
|
|
|
|
await dispatch(importQueries(exploreId, queries, currentDataSourceInstance, newDataSourceInstance)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (getState().explore[exploreId].isLive) { |
|
|
|
|
dispatch(changeRefreshInterval(exploreId, RefreshPicker.offOption.value)); |
|
|
|
@ -268,7 +274,7 @@ export function loadExploreDatasourcesAndSetDatasource( |
|
|
|
|
const exploreDatasources = getExploreDatasources(); |
|
|
|
|
|
|
|
|
|
if (exploreDatasources.length >= 1) { |
|
|
|
|
await dispatch(changeDatasource(exploreId, datasourceName)); |
|
|
|
|
await dispatch(changeDatasource(exploreId, datasourceName, { importQueries: true })); |
|
|
|
|
dispatch(runQueries(exploreId)); |
|
|
|
|
} else { |
|
|
|
|
dispatch(loadDatasourceMissingAction({ exploreId })); |
|
|
|
@ -729,6 +735,7 @@ export function splitOpen<T extends DataQuery = any>(options?: { datasourceUid: |
|
|
|
|
const dataSourceSettings = getDatasourceSrv().getDataSourceSettingsByUid(options.datasourceUid); |
|
|
|
|
await dispatch(changeDatasource(ExploreId.right, dataSourceSettings.name)); |
|
|
|
|
await dispatch(setQueriesAction({ exploreId: ExploreId.right, queries })); |
|
|
|
|
await dispatch(runQueries(ExploreId.right)); |
|
|
|
|
} else { |
|
|
|
|
rightState.queries = leftState.queries.slice(); |
|
|
|
|
rightState.urlState = urlState; |
|
|
|
|