Commit 151b838f by Hugo Häggmark

fixes:#14282 - Do not change folder for persisted dashboards

parent 9c8dea06
...@@ -21,6 +21,7 @@ export class FolderPickerCtrl { ...@@ -21,6 +21,7 @@ export class FolderPickerCtrl {
hasValidationError: boolean; hasValidationError: boolean;
validationError: any; validationError: any;
isEditor: boolean; isEditor: boolean;
dashboardId?: number;
/** @ngInject */ /** @ngInject */
constructor(private backendSrv, private validationSrv, private contextSrv) { constructor(private backendSrv, private validationSrv, private contextSrv) {
...@@ -131,6 +132,7 @@ export class FolderPickerCtrl { ...@@ -131,6 +132,7 @@ export class FolderPickerCtrl {
private loadInitialValue() { private loadInitialValue() {
const resetFolder = { text: this.initialTitle, value: null }; const resetFolder = { text: this.initialTitle, value: null };
const rootFolder = { text: this.rootName, value: 0 }; const rootFolder = { text: this.rootName, value: 0 };
const emptyFolder = { text: '', value: null };
this.getOptions('').then(result => { this.getOptions('').then(result => {
let folder; let folder;
...@@ -144,7 +146,13 @@ export class FolderPickerCtrl { ...@@ -144,7 +146,13 @@ export class FolderPickerCtrl {
if (this.isEditor) { if (this.isEditor) {
folder = rootFolder; folder = rootFolder;
} else { } else {
folder = result.length > 0 ? result[0] : resetFolder; // We shouldn't assign a random folder without the user actively choosing it on a persisted dashboard
const isPersistedDashBoard = this.dashboardId ? true : false;
if (isPersistedDashBoard) {
folder = emptyFolder;
} else {
folder = result.length > 0 ? result[0] : resetFolder;
}
} }
} }
...@@ -176,6 +184,7 @@ export function folderPicker() { ...@@ -176,6 +184,7 @@ export function folderPicker() {
exitFolderCreation: '&', exitFolderCreation: '&',
enableCreateNew: '@', enableCreateNew: '@',
enableReset: '@', enableReset: '@',
dashboardId: '<?',
}, },
}; };
} }
......
...@@ -25,7 +25,8 @@ const template = ` ...@@ -25,7 +25,8 @@ const template = `
enter-folder-creation="ctrl.onEnterFolderCreation()" enter-folder-creation="ctrl.onEnterFolderCreation()"
exit-folder-creation="ctrl.onExitFolderCreation()" exit-folder-creation="ctrl.onExitFolderCreation()"
enable-create-new="true" enable-create-new="true"
label-class="width-7"> label-class="width-7"
dashboard-id="ctrl.clone.id">
</folder-picker> </folder-picker>
</div> </div>
</div> </div>
......
...@@ -51,7 +51,8 @@ ...@@ -51,7 +51,8 @@
on-change="ctrl.onFolderChange($folder)" on-change="ctrl.onFolderChange($folder)"
enable-create-new="true" enable-create-new="true"
is-valid-selection="true" is-valid-selection="true"
label-class="width-7"> label-class="width-7"
dashboard-id="ctrl.dashboard.id">
</folder-picker> </folder-picker>
<gf-form-switch class="gf-form" label="Editable" tooltip="Uncheck, then save and reload to disable all dashboard editing" checked="ctrl.dashboard.editable" label-class="width-7"> <gf-form-switch class="gf-form" label="Editable" tooltip="Uncheck, then save and reload to disable all dashboard editing" checked="ctrl.dashboard.editable" label-class="width-7">
</gf-form-switch> </gf-form-switch>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment