config.ts 1.3 KB

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