Forráskód Böngészése

Make dashboard JSON editable

Andrzej Ressel 7 éve
szülő
commit
dc11f1da81

+ 5 - 1
public/app/features/dashboard/dashboard_srv.ts

@@ -100,7 +100,7 @@ export class DashboardSrv {
       .catch(this.handleSaveDashboardError.bind(this, clone, options));
   }
 
-  saveDashboard(options, clone) {
+  saveDashboard(options?, clone?) {
     if (clone) {
       this.setCurrent(this.create(clone, this.dash.meta));
     }
@@ -120,6 +120,10 @@ export class DashboardSrv {
     return this.save(this.dash.getSaveModelClone(), options);
   }
 
+  saveJSONDashboard(json: string) {
+    return this.save(JSON.parse(json), {});
+  }
+
   showSaveAsModal() {
     this.$rootScope.appEvent('show-modal', {
       templateHtml: '<save-dashboard-as-modal dismiss="dismiss()"></save-dashboard-as-modal>',

+ 7 - 1
public/app/features/dashboard/settings/settings.ts

@@ -134,7 +134,13 @@ export class SettingsCtrl {
   }
 
   saveDashboard() {
-    this.dashboardSrv.saveDashboard();
+    if (this.viewId === 'view_json') {
+      this.dashboardSrv.saveJSONDashboard(this.json).then(() => {
+        window.location.reload();
+      });
+    } else {
+      this.dashboardSrv.saveDashboard();
+    }
   }
 
   onPostSave() {