|
@@ -10,6 +10,7 @@ export enum ActionTypes {
|
|
|
LoadDataSources = 'LOAD_DATA_SOURCES',
|
|
LoadDataSources = 'LOAD_DATA_SOURCES',
|
|
|
LoadDataSourceTypes = 'LOAD_DATA_SOURCE_TYPES',
|
|
LoadDataSourceTypes = 'LOAD_DATA_SOURCE_TYPES',
|
|
|
LoadDataSource = 'LOAD_DATA_SOURCE',
|
|
LoadDataSource = 'LOAD_DATA_SOURCE',
|
|
|
|
|
+ LoadDataSourceMeta = 'LOAD_DATA_SOURCE_META',
|
|
|
SetDataSourcesSearchQuery = 'SET_DATA_SOURCES_SEARCH_QUERY',
|
|
SetDataSourcesSearchQuery = 'SET_DATA_SOURCES_SEARCH_QUERY',
|
|
|
SetDataSourcesLayoutMode = 'SET_DATA_SOURCES_LAYOUT_MODE',
|
|
SetDataSourcesLayoutMode = 'SET_DATA_SOURCES_LAYOUT_MODE',
|
|
|
SetDataSourceTypeSearchQuery = 'SET_DATA_SOURCE_TYPE_SEARCH_QUERY',
|
|
SetDataSourceTypeSearchQuery = 'SET_DATA_SOURCE_TYPE_SEARCH_QUERY',
|
|
@@ -45,6 +46,11 @@ export interface LoadDataSourceAction {
|
|
|
payload: DataSource;
|
|
payload: DataSource;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+export interface LoadDataSourceMetaAction {
|
|
|
|
|
+ type: ActionTypes.LoadDataSourceMeta;
|
|
|
|
|
+ payload: Plugin;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
const dataSourcesLoaded = (dataSources: DataSource[]): LoadDataSourcesAction => ({
|
|
const dataSourcesLoaded = (dataSources: DataSource[]): LoadDataSourcesAction => ({
|
|
|
type: ActionTypes.LoadDataSources,
|
|
type: ActionTypes.LoadDataSources,
|
|
|
payload: dataSources,
|
|
payload: dataSources,
|
|
@@ -55,6 +61,11 @@ const dataSourceLoaded = (dataSource: DataSource): LoadDataSourceAction => ({
|
|
|
payload: dataSource,
|
|
payload: dataSource,
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+const dataSourceMetaLoaded = (dataSourceMeta: Plugin): LoadDataSourceMetaAction => ({
|
|
|
|
|
+ type: ActionTypes.LoadDataSourceMeta,
|
|
|
|
|
+ payload: dataSourceMeta,
|
|
|
|
|
+});
|
|
|
|
|
+
|
|
|
const dataSourceTypesLoaded = (dataSourceTypes: Plugin[]): LoadDataSourceTypesAction => ({
|
|
const dataSourceTypesLoaded = (dataSourceTypes: Plugin[]): LoadDataSourceTypesAction => ({
|
|
|
type: ActionTypes.LoadDataSourceTypes,
|
|
type: ActionTypes.LoadDataSourceTypes,
|
|
|
payload: dataSourceTypes,
|
|
payload: dataSourceTypes,
|
|
@@ -83,7 +94,8 @@ export type Action =
|
|
|
| LoadDataSourceTypesAction
|
|
| LoadDataSourceTypesAction
|
|
|
| SetDataSourceTypeSearchQueryAction
|
|
| SetDataSourceTypeSearchQueryAction
|
|
|
| LoadDataSourceAction
|
|
| LoadDataSourceAction
|
|
|
- | UpdateNavIndexAction;
|
|
|
|
|
|
|
+ | UpdateNavIndexAction
|
|
|
|
|
+ | LoadDataSourceMetaAction;
|
|
|
|
|
|
|
|
type ThunkResult<R> = ThunkAction<R, StoreState, undefined, Action>;
|
|
type ThunkResult<R> = ThunkAction<R, StoreState, undefined, Action>;
|
|
|
|
|
|
|
@@ -99,6 +111,7 @@ export function loadDataSource(id: number): ThunkResult<void> {
|
|
|
const dataSource = await getBackendSrv().get(`/api/datasources/${id}`);
|
|
const dataSource = await getBackendSrv().get(`/api/datasources/${id}`);
|
|
|
const pluginInfo = await getBackendSrv().get(`/api/plugins/${dataSource.type}/settings`);
|
|
const pluginInfo = await getBackendSrv().get(`/api/plugins/${dataSource.type}/settings`);
|
|
|
dispatch(dataSourceLoaded(dataSource));
|
|
dispatch(dataSourceLoaded(dataSource));
|
|
|
|
|
+ dispatch(dataSourceMetaLoaded(pluginInfo));
|
|
|
dispatch(updateNavIndex(buildNavModel(dataSource, pluginInfo)));
|
|
dispatch(updateNavIndex(buildNavModel(dataSource, pluginInfo)));
|
|
|
};
|
|
};
|
|
|
}
|
|
}
|