From 25504e84eda2ca685104375e7eca68b1c91163ce Mon Sep 17 00:00:00 2001 From: Alexander Zobnin Date: Thu, 7 Jun 2018 17:05:56 +0300 Subject: [PATCH] dashboard import to folder: minor fixes --- pkg/api/index.go | 4 +-- .../dashboard/dashboard_import_ctrl.ts | 4 +-- .../dashboard/folder_picker/folder_picker.ts | 26 +++++++++---------- .../dashboard/partials/dashboard_import.html | 16 ++++++------ 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/pkg/api/index.go b/pkg/api/index.go index 57b0b50603c..f5f20f24bc7 100644 --- a/pkg/api/index.go +++ b/pkg/api/index.go @@ -95,14 +95,14 @@ func setIndexViewData(c *m.ReqContext) (*dtos.IndexViewData, error) { if hasEditPermissionInFoldersQuery.Result { children := []*dtos.NavLink{ {Text: "Dashboard", Icon: "gicon gicon-dashboard-new", Url: setting.AppSubUrl + "/dashboard/new"}, - {Text: "Import", SubTitle: "Import dashboard from file or Grafana.com", Id: "import", Icon: "gicon gicon-dashboard-import", Url: setting.AppSubUrl + "/dashboard/import"}, } if c.OrgRole == m.ROLE_ADMIN || c.OrgRole == m.ROLE_EDITOR { children = append(children, &dtos.NavLink{Text: "Folder", SubTitle: "Create a new folder to organize your dashboards", Id: "folder", Icon: "gicon gicon-folder-new", Url: setting.AppSubUrl + "/dashboards/folder/new"}) - children = append(children, &dtos.NavLink{Text: "Import", SubTitle: "Import dashboard from file or Grafana.com", Id: "import", Icon: "gicon gicon-dashboard-import", Url: setting.AppSubUrl + "/dashboard/import"}) } + children = append(children, &dtos.NavLink{Text: "Import", SubTitle: "Import dashboard from file or Grafana.com", Id: "import", Icon: "gicon gicon-dashboard-import", Url: setting.AppSubUrl + "/dashboard/import"}) + data.NavTree = append(data.NavTree, &dtos.NavLink{ Text: "Create", Id: "create", diff --git a/public/app/features/dashboard/dashboard_import_ctrl.ts b/public/app/features/dashboard/dashboard_import_ctrl.ts index 599019fb78e..73e9e316b4e 100644 --- a/public/app/features/dashboard/dashboard_import_ctrl.ts +++ b/public/app/features/dashboard/dashboard_import_ctrl.ts @@ -154,11 +154,11 @@ export class DashboardImportCtrl { } onExitFolderCreation() { - this.inputsValid = true; + this.inputValueChanged(); } isValid() { - return this.inputsValid && !this.hasNameValidationError && this.folderId !== null; + return this.inputsValid && this.folderId !== null; } saveDashboard() { diff --git a/public/app/features/dashboard/folder_picker/folder_picker.ts b/public/app/features/dashboard/folder_picker/folder_picker.ts index e04fcb9042f..28338c29d33 100644 --- a/public/app/features/dashboard/folder_picker/folder_picker.ts +++ b/public/app/features/dashboard/folder_picker/folder_picker.ts @@ -132,24 +132,24 @@ export class FolderPickerCtrl { } private loadInitialValue() { + const resetFolder = { text: this.initialTitle, value: null }; + const rootFolder = { text: this.rootName, value: 0 }; this.getOptions('').then(result => { - if (!_.isNil(this.initialFolderId)) { - // If initialFolderId is set, try to find it in result or return null - this.folder = _.find(result, { value: this.initialFolderId }); - if (!this.folder) { - this.folder = { text: this.initialTitle, value: null }; - } - } else { - // If initialFolderId isn't set, return General folder for Editor - // or first available for user, otherwise return null + let folder; + if (this.initialFolderId) { + folder = _.find(result, { value: this.initialFolderId }); + } else if (this.enableReset && this.initialTitle && this.initialFolderId === null) { + folder = resetFolder; + } + + if (!folder) { if (this.isEditor) { - this.folder = { text: this.rootName, value: 0 }; - } else if (result.length > 0) { - this.folder = result[0]; + folder = rootFolder; } else { - this.folder = { text: this.initialTitle, value: null }; + folder = result.length > 0 ? result[0] : resetFolder; } } + this.folder = folder; this.onFolderLoad(); }); } diff --git a/public/app/features/dashboard/partials/dashboard_import.html b/public/app/features/dashboard/partials/dashboard_import.html index 1cb8cdccd4f..b5358dfd0f8 100644 --- a/public/app/features/dashboard/partials/dashboard_import.html +++ b/public/app/features/dashboard/partials/dashboard_import.html @@ -82,14 +82,14 @@
- +