config.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. import _ from 'lodash';
  2. export interface BuildInfo {
  3. version: string;
  4. commit: string;
  5. isEnterprise: boolean;
  6. env: string;
  7. }
  8. export class Settings {
  9. datasources: any;
  10. panels: any;
  11. appSubUrl: string;
  12. windowTitlePrefix: string;
  13. buildInfo: BuildInfo;
  14. newPanelTitle: string;
  15. bootData: any;
  16. externalUserMngLinkUrl: string;
  17. externalUserMngLinkName: string;
  18. externalUserMngInfo: string;
  19. allowOrgCreate: boolean;
  20. disableLoginForm: boolean;
  21. defaultDatasource: string;
  22. alertingEnabled: boolean;
  23. alertingErrorOrTimeout: string;
  24. alertingNoDataOrNullValues: string;
  25. authProxyEnabled: boolean;
  26. exploreEnabled: boolean;
  27. ldapEnabled: boolean;
  28. oauth: any;
  29. disableUserSignUp: boolean;
  30. loginHint: any;
  31. loginError: any;
  32. constructor(options) {
  33. const defaults = {
  34. datasources: {},
  35. windowTitlePrefix: 'Grafana - ',
  36. panels: {},
  37. newPanelTitle: 'Panel Title',
  38. playlist_timespan: '1m',
  39. unsaved_changes_warning: true,
  40. appSubUrl: '',
  41. buildInfo: {
  42. version: 'v1.0',
  43. commit: '1',
  44. env: 'production',
  45. isEnterprise: false,
  46. },
  47. };
  48. _.extend(this, defaults, options);
  49. }
  50. }
  51. const bootData = (window as any).grafanaBootData || { settings: {} };
  52. const options = bootData.settings;
  53. options.bootData = bootData;
  54. const config = new Settings(options);
  55. export default config;