2020-04-20 00:37:38 -05:00
|
|
|
import { DataSourcePluginMeta, DataSourceSettings, UrlQueryValue } from '@grafana/data';
|
2019-07-30 08:49:32 -05:00
|
|
|
import { DataSourcesState } from '../../../types/datasources';
|
2018-10-08 07:09:02 -05:00
|
|
|
|
2019-07-30 08:49:32 -05:00
|
|
|
export const getDataSources = (state: DataSourcesState) => {
|
2018-09-28 04:05:34 -05:00
|
|
|
const regex = new RegExp(state.searchQuery, 'i');
|
|
|
|
|
2019-07-30 08:49:32 -05:00
|
|
|
return state.dataSources.filter((dataSource: DataSourceSettings) => {
|
2020-07-20 09:49:20 -05:00
|
|
|
return regex.test(dataSource.name) || regex.test(dataSource.database) || regex.test(dataSource.type);
|
2018-09-28 04:05:34 -05:00
|
|
|
});
|
|
|
|
};
|
|
|
|
|
2020-01-06 09:56:34 -06:00
|
|
|
export const getDataSourcePlugins = (state: DataSourcesState) => {
|
2018-10-04 04:42:17 -05:00
|
|
|
const regex = new RegExp(state.dataSourceTypeSearchQuery, 'i');
|
|
|
|
|
2020-01-06 09:56:34 -06:00
|
|
|
return state.plugins.filter((type: DataSourcePluginMeta) => {
|
2018-10-04 04:42:17 -05:00
|
|
|
return regex.test(type.name);
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
2020-07-09 08:16:35 -05:00
|
|
|
export const getDataSource = (state: DataSourcesState, dataSourceId: UrlQueryValue): DataSourceSettings => {
|
2021-05-08 11:13:26 -05:00
|
|
|
if (state.dataSource.uid === dataSourceId) {
|
2018-10-08 07:09:02 -05:00
|
|
|
return state.dataSource;
|
|
|
|
}
|
2019-01-17 11:51:07 -06:00
|
|
|
return {} as DataSourceSettings;
|
2018-10-08 07:09:02 -05:00
|
|
|
};
|
|
|
|
|
2019-07-30 08:49:32 -05:00
|
|
|
export const getDataSourceMeta = (state: DataSourcesState, type: string): DataSourcePluginMeta => {
|
2018-10-31 07:23:05 -05:00
|
|
|
if (state.dataSourceMeta.id === type) {
|
|
|
|
return state.dataSourceMeta;
|
|
|
|
}
|
|
|
|
|
2019-04-29 11:14:39 -05:00
|
|
|
return {} as DataSourcePluginMeta;
|
2018-10-31 07:23:05 -05:00
|
|
|
};
|
|
|
|
|
2019-07-30 08:49:32 -05:00
|
|
|
export const getDataSourcesSearchQuery = (state: DataSourcesState) => state.searchQuery;
|
|
|
|
export const getDataSourcesLayoutMode = (state: DataSourcesState) => state.layoutMode;
|
|
|
|
export const getDataSourcesCount = (state: DataSourcesState) => state.dataSourcesCount;
|