module.ts 814 B

123456789101112131415161718192021222324252627282930313233343536
  1. ///<reference path="../../../headers/common.d.ts" />
  2. export class ConfigCtrl {
  3. static template = "";
  4. appEditCtrl: any;
  5. /** @ngInject **/
  6. constructor(private backendSrv) {
  7. this.appEditCtrl.setPreUpdateHook(this.initDatasource.bind(this));
  8. }
  9. initDatasource() {
  10. return this.backendSrv.get("/api/datasources").then(res => {
  11. var found = false;
  12. for (let ds of res) {
  13. if (ds.type === "grafana-testdata-datasource") {
  14. found = true;
  15. }
  16. }
  17. if (!found) {
  18. var dsInstance = {
  19. name: "Grafana TestData",
  20. type: "grafana-testdata-datasource",
  21. access: "direct",
  22. jsonData: {}
  23. };
  24. return this.backendSrv.post("/api/datasources", dsInstance);
  25. }
  26. return Promise.resolve();
  27. });
  28. }
  29. }