diff --git a/public/app/features/dashboard/save_modal.ts b/public/app/features/dashboard/save_modal.ts index be6738f6d5f..525d2d1cbc3 100644 --- a/public/app/features/dashboard/save_modal.ts +++ b/public/app/features/dashboard/save_modal.ts @@ -50,8 +50,17 @@ const template = `
- - Cancel + +
@@ -68,6 +77,7 @@ export class SaveDashboardModalCtrl { originalCurrent = []; max: number; saveForm: any; + isSaving: boolean; dismiss: () => void; timeChange = false; variableValueChange = false; @@ -76,6 +86,7 @@ export class SaveDashboardModalCtrl { constructor(private dashboardSrv) { this.message = ''; this.max = 64; + this.isSaving = false; this.templating = dashboardSrv.dash.templating.list; this.compareTemplating(); @@ -126,6 +137,8 @@ export class SaveDashboardModalCtrl { var dashboard = this.dashboardSrv.getCurrent(); var saveModel = dashboard.getSaveModelClone(options); + this.isSaving = true; + return this.dashboardSrv.save(saveModel, options).then(this.dismiss); } } diff --git a/public/sass/components/_buttons.scss b/public/sass/components/_buttons.scss index c21ed30b0f4..5d74122cdd9 100644 --- a/public/sass/components/_buttons.scss +++ b/public/sass/components/_buttons.scss @@ -100,6 +100,22 @@ // Success appears as green .btn-success { @include buttonBackground($btn-success-bg, $btn-success-bg-hl); + + &--processing { + @include button-outline-variant($gray-1); + @include box-shadow(none); + cursor: default; + + &:hover, + &:active, + &:active:hover, + &:focus, + &:disabled { + color: $gray-1; + background-color: transparent; + border-color: $gray-1; + } + } } // Info appears as a neutral blue .btn-secondary {