diff --git a/public/app/features/dashboard/dashboard_srv.ts b/public/app/features/dashboard/dashboard_srv.ts index d822e020afe..298dfc2966c 100644 --- a/public/app/features/dashboard/dashboard_srv.ts +++ b/public/app/features/dashboard/dashboard_srv.ts @@ -80,6 +80,8 @@ export class DashboardSrv { this.$rootScope.appEvent('dashboard-saved', this.dash); this.$rootScope.appEvent('alert-success', ['Dashboard saved']); + + return this.dash; } save(clone, options) { diff --git a/public/app/features/dashboard/save_modal.ts b/public/app/features/dashboard/save_modal.ts index 69419b88cd1..5b1730c0135 100644 --- a/public/app/features/dashboard/save_modal.ts +++ b/public/app/features/dashboard/save_modal.ts @@ -4,47 +4,47 @@ import coreModule from 'app/core/core_module'; const template = ` `; diff --git a/public/app/features/dashboard/settings/settings.ts b/public/app/features/dashboard/settings/settings.ts index 4abec3714a5..5518983ab2a 100644 --- a/public/app/features/dashboard/settings/settings.ts +++ b/public/app/features/dashboard/settings/settings.ts @@ -128,9 +128,19 @@ export class SettingsCtrl { makeEditable() { this.dashboard.editable = true; + this.dashboard.meta.canMakeEditable = false; + this.dashboard.meta.canEdit = true; + this.dashboard.meta.canSave = true; + this.canDelete = true; + this.viewId = 'settings'; + this.buildSectionList(); - return this.dashboardSrv.saveDashboard({ makeEditable: true, overwrite: false }).then(() => { - // force refresh whole page + const currentSection = _.find(this.sections, { id: this.viewId }); + this.$location.url(currentSection.url); + this.onRouteUpdated(); + + // Force dashboard reload after saving to update view + appEvents.on('dashboard-saved', () => { window.location.href = window.location.href; }); }