grafana/public/app/core/config.ts

62 lines
1.4 KiB
TypeScript
Raw Normal View History

2017-12-20 05:33:33 -06:00
import _ from 'lodash';
export interface BuildInfo {
version: string;
commit: string;
isEnterprise: boolean;
env: string;
}
export class Settings {
datasources: any;
panels: any;
appSubUrl: string;
windowTitlePrefix: string;
buildInfo: BuildInfo;
newPanelTitle: string;
bootData: any;
externalUserMngLinkUrl: string;
externalUserMngLinkName: string;
externalUserMngInfo: string;
allowOrgCreate: boolean;
disableLoginForm: boolean;
defaultDatasource: string;
alertingEnabled: boolean;
alertingErrorOrTimeout: string;
alertingNoDataOrNullValues: string;
authProxyEnabled: boolean;
exploreEnabled: boolean;
ldapEnabled: boolean;
oauth: any;
disableUserSignUp: boolean;
loginHint: any;
loginError: any;
constructor(options) {
2018-08-26 13:19:23 -05:00
const defaults = {
datasources: {},
windowTitlePrefix: 'Grafana - ',
panels: {},
newPanelTitle: 'Panel Title',
2017-12-20 05:33:33 -06:00
playlist_timespan: '1m',
unsaved_changes_warning: true,
2017-12-20 05:33:33 -06:00
appSubUrl: '',
buildInfo: {
version: 'v1.0',
commit: '1',
env: 'production',
isEnterprise: false,
},
};
_.extend(this, defaults, options);
}
}
const bootData = (window as any).grafanaBootData || { settings: {} };
2018-08-26 13:19:23 -05:00
const options = bootData.settings;
options.bootData = bootData;
const config = new Settings(options);
export default config;