diff --git a/public/app/features/dashboard/dashboard_srv.ts b/public/app/features/dashboard/dashboard_srv.ts index b41d7b0583e..9d766fdfc3f 100644 --- a/public/app/features/dashboard/dashboard_srv.ts +++ b/public/app/features/dashboard/dashboard_srv.ts @@ -92,7 +92,7 @@ export class DashboardSrv { save(clone, options) { options = options || {}; - options.folderId = options.folderId || this.dash.meta.folderId || clone.folderId; + options.folderId = options.folderId >= 0 ? options.folderId : this.dash.meta.folderId || clone.folderId; return this.backendSrv .saveDashboard(clone, options) diff --git a/public/app/features/dashboard/save_as_modal.ts b/public/app/features/dashboard/save_as_modal.ts index 15a3ce5dba7..60f6fb4c1da 100644 --- a/public/app/features/dashboard/save_as_modal.ts +++ b/public/app/features/dashboard/save_as_modal.ts @@ -22,6 +22,8 @@ const template = `
@@ -29,7 +31,7 @@ const template = `
- + Cancel
@@ -40,6 +42,7 @@ export class SaveDashboardAsModalCtrl { clone: any; folderId: any; dismiss: () => void; + isValidFolderSelection = true; /** @ngInject */ constructor(private dashboardSrv) { @@ -79,6 +82,14 @@ export class SaveDashboardAsModalCtrl { onFolderChange(folder) { this.folderId = folder.id; } + + onEnterFolderCreation() { + this.isValidFolderSelection = false; + } + + onExitFolderCreation() { + this.isValidFolderSelection = true; + } } export function saveDashboardAsDirective() {