settings.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. define([
  2. 'lodash',
  3. ],
  4. function (_) {
  5. "use strict";
  6. return function Settings (options) {
  7. /**
  8. * To add a setting, you MUST define a default. Also,
  9. * THESE ARE ONLY DEFAULTS.
  10. * They are overridden by config.js in the root directory
  11. * @type {Object}
  12. */
  13. var defaults = {
  14. datasources : {},
  15. window_title_prefix : 'Grafana - ',
  16. panels : {
  17. 'graph': { path: 'panels/graph', name: 'Graph' },
  18. 'singlestat': { path: 'panels/singlestat', name: 'Single stat' },
  19. 'text': { path: 'panels/text', name: 'Text' },
  20. 'dashlist': { path: 'panels/dashlist', name: 'Dashboard list' },
  21. },
  22. new_panel_title: 'no title (click here)',
  23. plugins: {},
  24. default_route: '/dashboard/file/default.json',
  25. playlist_timespan: "1m",
  26. unsaved_changes_warning: true,
  27. search: { max_results: 100 },
  28. appSubUrl: ""
  29. };
  30. var settings = _.extend({}, defaults, options);
  31. // var parseBasicAuth = function(datasource) {
  32. // var passwordEnd = datasource.url.indexOf('@');
  33. // if (passwordEnd > 0) {
  34. // var userStart = datasource.url.indexOf('//') + 2;
  35. // var userAndPassword = datasource.url.substring(userStart, passwordEnd);
  36. // var bytes = crypto.charenc.Binary.stringToBytes(userAndPassword);
  37. // datasource.basicAuth = crypto.util.bytesToBase64(bytes);
  38. //
  39. // var urlHead = datasource.url.substring(0, userStart);
  40. // datasource.url = urlHead + datasource.url.substring(passwordEnd + 1);
  41. // }
  42. //
  43. // return datasource;
  44. // };
  45. //
  46. // _.each(settings.datasources, function(datasource, key) {
  47. // datasource.name = key;
  48. // if (datasource.url) { parseBasicAuth(datasource); }
  49. // if (datasource.type === 'influxdb') { parseMultipleHosts(datasource); }
  50. // });
  51. return settings;
  52. };
  53. });