Chore: Refactor avoid calling config.bootData.settings (#109683)
replace config.bootData.settings with just config.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { textUtil } from '@grafana/data';
|
||||
import { config } from '@grafana/runtime';
|
||||
|
||||
const CSP_REPORT_ONLY_ENABLED = config.bootData.settings.cspReportOnlyEnabled;
|
||||
const CSP_REPORT_ONLY_ENABLED = config.cspReportOnlyEnabled;
|
||||
|
||||
export const defaultTrustedTypesPolicy = {
|
||||
createHTML: (string: string, source: string, sink: string) => {
|
||||
@@ -21,11 +21,7 @@ export const defaultTrustedTypesPolicy = {
|
||||
},
|
||||
};
|
||||
|
||||
if (
|
||||
config.bootData.settings.trustedTypesDefaultPolicyEnabled &&
|
||||
window.trustedTypes &&
|
||||
window.trustedTypes.createPolicy
|
||||
) {
|
||||
if (config.trustedTypesDefaultPolicyEnabled && window.trustedTypes && window.trustedTypes.createPolicy) {
|
||||
// check if browser supports Trusted Types
|
||||
window.trustedTypes.createPolicy('default', defaultTrustedTypesPolicy);
|
||||
}
|
||||
|
||||
@@ -113,7 +113,7 @@ describe('dashboardActions', () => {
|
||||
});
|
||||
|
||||
it('returns an empty array if anonymous access is not enabled', async () => {
|
||||
config.bootData.settings.anonymousEnabled = false;
|
||||
config.anonymousEnabled = false;
|
||||
const searchQuery = 'mySearchQuery';
|
||||
const results = await getSearchResultActions(searchQuery);
|
||||
expect(grafanaSearcherSpy).not.toHaveBeenCalled();
|
||||
@@ -121,7 +121,7 @@ describe('dashboardActions', () => {
|
||||
});
|
||||
|
||||
it('calls the search backend and returns an array of CommandPaletteActions if anonymous access is enabled', async () => {
|
||||
config.bootData.settings.anonymousEnabled = true;
|
||||
config.anonymousEnabled = true;
|
||||
const searchQuery = 'mySearchQuery';
|
||||
const results = await getSearchResultActions(searchQuery);
|
||||
expect(grafanaSearcherSpy).toHaveBeenCalledWith({
|
||||
|
||||
@@ -51,7 +51,7 @@ export async function getRecentDashboardActions(): Promise<CommandPaletteAction[
|
||||
|
||||
export async function getSearchResultActions(searchQuery: string): Promise<CommandPaletteAction[]> {
|
||||
// Empty strings should not come through to here
|
||||
if (searchQuery.length === 0 || (!contextSrv.user.isSignedIn && !config.bootData.settings.anonymousEnabled)) {
|
||||
if (searchQuery.length === 0 || (!contextSrv.user.isSignedIn && !config.anonymousEnabled)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
|
||||
@@ -73,18 +73,12 @@ jest.mock('@grafana/runtime', () => ({
|
||||
},
|
||||
config: {
|
||||
...jest.requireActual('@grafana/runtime').config,
|
||||
bootData: {
|
||||
...jest.requireActual('@grafana/runtime').config.bootData,
|
||||
settings: {
|
||||
...jest.requireActual('@grafana/runtime').config.bootData.settings,
|
||||
defaultDatasource: 'ds1',
|
||||
datasources: {
|
||||
ds1: {
|
||||
name: 'ds-uid',
|
||||
meta: {
|
||||
id: 'grafana',
|
||||
},
|
||||
},
|
||||
defaultDatasource: 'ds1',
|
||||
datasources: {
|
||||
ds1: {
|
||||
name: 'ds-uid',
|
||||
meta: {
|
||||
id: 'grafana',
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -38,39 +38,32 @@ jest.mock('@grafana/runtime', () => {
|
||||
dashboardNewLayouts: false, // Default value
|
||||
reloadDashboardsOnParamsChange: false, // Default value
|
||||
},
|
||||
|
||||
bootData: {
|
||||
...original.config.bootData,
|
||||
settings: {
|
||||
...original.config.bootData.settings,
|
||||
datasources: {
|
||||
'gdev-testdata': {
|
||||
id: 7,
|
||||
uid: 'abc',
|
||||
type: 'grafana-testdata-datasource',
|
||||
name: 'gdev-testdata',
|
||||
meta: {
|
||||
id: 'grafana-testdata-datasource',
|
||||
type: 'datasource',
|
||||
name: 'TestData',
|
||||
aliasIDs: ['testdata'],
|
||||
},
|
||||
},
|
||||
'-- Grafana --': {
|
||||
id: -1,
|
||||
uid: 'grafana',
|
||||
type: 'datasource',
|
||||
name: '-- Grafana --',
|
||||
meta: {
|
||||
id: 'grafana',
|
||||
type: 'datasource',
|
||||
name: '-- Grafana --',
|
||||
},
|
||||
},
|
||||
datasources: {
|
||||
'gdev-testdata': {
|
||||
id: 7,
|
||||
uid: 'abc',
|
||||
type: 'grafana-testdata-datasource',
|
||||
name: 'gdev-testdata',
|
||||
meta: {
|
||||
id: 'grafana-testdata-datasource',
|
||||
type: 'datasource',
|
||||
name: 'TestData',
|
||||
aliasIDs: ['testdata'],
|
||||
},
|
||||
},
|
||||
'-- Grafana --': {
|
||||
id: -1,
|
||||
uid: 'grafana',
|
||||
type: 'datasource',
|
||||
name: '-- Grafana --',
|
||||
meta: {
|
||||
id: 'grafana',
|
||||
type: 'datasource',
|
||||
name: '-- Grafana --',
|
||||
},
|
||||
defaultDatasource: 'gdev-testdata',
|
||||
},
|
||||
},
|
||||
defaultDatasource: 'gdev-testdata',
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
+14
-16
@@ -46,22 +46,20 @@ jest.mock('@grafana/runtime', () => ({
|
||||
user: {
|
||||
timezone: 'UTC',
|
||||
},
|
||||
settings: {
|
||||
defaultDatasource: '-- Grafana --',
|
||||
datasources: {
|
||||
'-- Grafana --': {
|
||||
name: 'Grafana',
|
||||
meta: { id: 'grafana' },
|
||||
type: 'datasource',
|
||||
uid: 'grafana',
|
||||
},
|
||||
prometheus: {
|
||||
name: 'prometheus',
|
||||
meta: { id: 'prometheus' },
|
||||
type: 'datasource',
|
||||
uid: 'prometheus-uid',
|
||||
},
|
||||
},
|
||||
},
|
||||
defaultDatasource: '-- Grafana --',
|
||||
datasources: {
|
||||
'-- Grafana --': {
|
||||
name: 'Grafana',
|
||||
meta: { id: 'grafana' },
|
||||
type: 'datasource',
|
||||
uid: 'grafana',
|
||||
},
|
||||
prometheus: {
|
||||
name: 'prometheus',
|
||||
meta: { id: 'prometheus' },
|
||||
type: 'datasource',
|
||||
uid: 'prometheus-uid',
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
@@ -9,35 +9,31 @@ jest.mock('@grafana/runtime', () => ({
|
||||
...jest.requireActual('@grafana/runtime'),
|
||||
config: {
|
||||
...jest.requireActual('@grafana/runtime').config,
|
||||
bootData: {
|
||||
settings: {
|
||||
defaultDatasource: 'default-ds-prometheus',
|
||||
datasources: {
|
||||
'default-ds-prometheus': {
|
||||
uid: 'default-prometheus-uid',
|
||||
name: 'Default Prometheus',
|
||||
meta: { id: 'prometheus' },
|
||||
type: 'datasource',
|
||||
},
|
||||
prometheus: {
|
||||
uid: 'prometheus-uid',
|
||||
name: 'Prometheus',
|
||||
meta: { id: 'prometheus' },
|
||||
type: 'datasource',
|
||||
},
|
||||
loki: {
|
||||
uid: 'loki-uid',
|
||||
name: 'Loki',
|
||||
meta: { id: 'loki' },
|
||||
type: 'datasource',
|
||||
},
|
||||
'-- Grafana --': {
|
||||
uid: 'grafana',
|
||||
name: 'Grafana',
|
||||
meta: { id: 'grafana' },
|
||||
type: 'datasource',
|
||||
},
|
||||
},
|
||||
defaultDatasource: 'default-ds-prometheus',
|
||||
datasources: {
|
||||
'default-ds-prometheus': {
|
||||
uid: 'default-prometheus-uid',
|
||||
name: 'Default Prometheus',
|
||||
meta: { id: 'prometheus' },
|
||||
type: 'datasource',
|
||||
},
|
||||
prometheus: {
|
||||
uid: 'prometheus-uid',
|
||||
name: 'Prometheus',
|
||||
meta: { id: 'prometheus' },
|
||||
type: 'datasource',
|
||||
},
|
||||
loki: {
|
||||
uid: 'loki-uid',
|
||||
name: 'Loki',
|
||||
meta: { id: 'loki' },
|
||||
type: 'datasource',
|
||||
},
|
||||
'-- Grafana --': {
|
||||
uid: 'grafana',
|
||||
name: 'Grafana',
|
||||
meta: { id: 'grafana' },
|
||||
type: 'datasource',
|
||||
},
|
||||
},
|
||||
featureToggles: {
|
||||
|
||||
@@ -234,8 +234,8 @@ export function getDataSourceForQuery(querySpecDS: DataSourceRef | undefined | n
|
||||
}
|
||||
|
||||
// Otherwise try to infer datasource based on query kind (kind = ds type)
|
||||
const defaultDatasource = config.bootData.settings.defaultDatasource;
|
||||
const dsList = config.bootData.settings.datasources;
|
||||
const defaultDatasource = config.defaultDatasource;
|
||||
const dsList = config.datasources;
|
||||
|
||||
// First check if the default datasource matches the query type
|
||||
if (dsList && dsList[defaultDatasource] && dsList[defaultDatasource].meta.id === queryKind) {
|
||||
|
||||
+22
-26
@@ -108,33 +108,29 @@ jest.mock('@grafana/runtime', () => ({
|
||||
...jest.requireActual('@grafana/runtime'),
|
||||
config: {
|
||||
...jest.requireActual('@grafana/runtime').config,
|
||||
bootData: {
|
||||
settings: {
|
||||
defaultDatasource: 'loki',
|
||||
datasources: {
|
||||
Prometheus: {
|
||||
name: 'Prometheus',
|
||||
meta: { id: 'prometheus' },
|
||||
type: 'datasource',
|
||||
},
|
||||
'-- Grafana --': {
|
||||
name: 'Grafana',
|
||||
meta: { id: 'grafana' },
|
||||
type: 'datasource',
|
||||
},
|
||||
loki: {
|
||||
name: 'Loki',
|
||||
meta: {
|
||||
id: 'loki',
|
||||
name: 'Loki',
|
||||
type: 'datasource',
|
||||
info: { version: '1.0.0' },
|
||||
module: 'app/plugins/datasource/loki/module',
|
||||
baseUrl: '/plugins/loki',
|
||||
},
|
||||
type: 'datasource',
|
||||
},
|
||||
defaultDatasource: 'loki',
|
||||
datasources: {
|
||||
Prometheus: {
|
||||
name: 'Prometheus',
|
||||
meta: { id: 'prometheus' },
|
||||
type: 'datasource',
|
||||
},
|
||||
'-- Grafana --': {
|
||||
name: 'Grafana',
|
||||
meta: { id: 'grafana' },
|
||||
type: 'datasource',
|
||||
},
|
||||
loki: {
|
||||
name: 'Loki',
|
||||
meta: {
|
||||
id: 'loki',
|
||||
name: 'Loki',
|
||||
type: 'datasource',
|
||||
info: { version: '1.0.0' },
|
||||
module: 'app/plugins/datasource/loki/module',
|
||||
baseUrl: '/plugins/loki',
|
||||
},
|
||||
type: 'datasource',
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
+2
-2
@@ -478,10 +478,10 @@ export function getAnnotationQueryKind(annotationQuery: AnnotationQuery): string
|
||||
|
||||
export function getDefaultDataSourceRef(): DataSourceRef {
|
||||
// we need to return the default datasource configured in the BootConfig
|
||||
const defaultDatasource = config.bootData.settings.defaultDatasource;
|
||||
const defaultDatasource = config.defaultDatasource;
|
||||
|
||||
// get default datasource type
|
||||
const dsList = config.bootData.settings.datasources;
|
||||
const dsList = config.datasources;
|
||||
const ds = dsList[defaultDatasource];
|
||||
|
||||
return { type: ds.meta.id, uid: ds.name }; // in the datasource list from bootData "id" is the type
|
||||
|
||||
@@ -39,39 +39,33 @@ jest.mock('@grafana/runtime', () => ({
|
||||
...jest.requireActual('@grafana/runtime'),
|
||||
config: {
|
||||
...jest.requireActual('@grafana/runtime').config,
|
||||
bootData: {
|
||||
...jest.requireActual('@grafana/runtime').config.bootData,
|
||||
settings: {
|
||||
...jest.requireActual('@grafana/runtime').config.bootData.settings,
|
||||
datasources: {
|
||||
PromTest: {
|
||||
uid: 'xyz-abc',
|
||||
name: 'PromTest',
|
||||
id: 'prometheus',
|
||||
meta: {
|
||||
id: 'prometheus',
|
||||
name: 'PromTest',
|
||||
type: 'datasource',
|
||||
},
|
||||
isDefault: true,
|
||||
apiVersion: 'v2',
|
||||
},
|
||||
'-- Grafana --': {
|
||||
uid: 'grafana',
|
||||
name: '-- Grafana --',
|
||||
id: 'grafana',
|
||||
meta: {
|
||||
id: 'grafana',
|
||||
name: '-- Grafana --',
|
||||
type: 'datasource',
|
||||
},
|
||||
isDefault: false,
|
||||
},
|
||||
datasources: {
|
||||
PromTest: {
|
||||
uid: 'xyz-abc',
|
||||
name: 'PromTest',
|
||||
id: 'prometheus',
|
||||
meta: {
|
||||
id: 'prometheus',
|
||||
name: 'PromTest',
|
||||
type: 'datasource',
|
||||
},
|
||||
|
||||
defaultDatasource: 'PromTest',
|
||||
isDefault: true,
|
||||
apiVersion: 'v2',
|
||||
},
|
||||
'-- Grafana --': {
|
||||
uid: 'grafana',
|
||||
name: '-- Grafana --',
|
||||
id: 'grafana',
|
||||
meta: {
|
||||
id: 'grafana',
|
||||
name: '-- Grafana --',
|
||||
type: 'datasource',
|
||||
},
|
||||
isDefault: false,
|
||||
},
|
||||
},
|
||||
|
||||
defaultDatasource: 'PromTest',
|
||||
},
|
||||
}));
|
||||
|
||||
|
||||
@@ -440,7 +440,7 @@ export function getDefaultDatasource(): DataSourceRef {
|
||||
|
||||
if (configDefaultDS.uid && !configDefaultDS.apiVersion) {
|
||||
// get api version from config
|
||||
const dsInstance = config.bootData.settings.datasources[configDefaultDS.uid];
|
||||
const dsInstance = config.datasources[configDefaultDS.uid];
|
||||
configDefaultDS.apiVersion = dsInstance.apiVersion ?? undefined;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user