diff --git a/public/app/features/dashboard/dashboard_srv.ts b/public/app/features/dashboard/dashboard_srv.ts index 3aa7ca118fb..1890323da29 100644 --- a/public/app/features/dashboard/dashboard_srv.ts +++ b/public/app/features/dashboard/dashboard_srv.ts @@ -127,7 +127,6 @@ export class DashboardSrv { showDashboardProvisionedModal() { this.$rootScope.appEvent('show-modal', { templateHtml: '', - modalClass: 'modal--narrow', }); } diff --git a/public/app/features/dashboard/save_provisioned_modal.ts b/public/app/features/dashboard/save_provisioned_modal.ts index 80c81b07e3f..ba96ce0b0b9 100644 --- a/public/app/features/dashboard/save_provisioned_modal.ts +++ b/public/app/features/dashboard/save_provisioned_modal.ts @@ -1,11 +1,12 @@ +import angular from 'angular'; +import { saveAs } from 'file-saver'; import coreModule from 'app/core/core_module'; const template = ` `; export class SaveProvisionedDashboardModalCtrl { + dash: any; dashboardJson: string; dismiss: () => void; /** @ngInject */ constructor(dashboardSrv) { - var dashboard = dashboardSrv.getCurrent().getSaveModelClone(); - delete dashboard.id; - this.dashboardJson = JSON.stringify(dashboard); + this.dash = dashboardSrv.getCurrent().getSaveModelClone(); + delete this.dash.id; + this.dashboardJson = JSON.stringify(this.dash, null, 2); + } + + save() { + var blob = new Blob([angular.toJson(this.dash, true)], { + type: 'application/json;charset=utf-8', + }); + saveAs(blob, this.dash.title + '-' + new Date().getTime() + '.json'); } getJsonForClipboard() {