mirror of
https://github.com/grafana/grafana.git
synced 2024-11-30 12:44:10 -06:00
fixes:#14282 - Do not change folder for persisted dashboards
This commit is contained in:
parent
9c8dea062a
commit
151b838f0b
@ -21,6 +21,7 @@ export class FolderPickerCtrl {
|
||||
hasValidationError: boolean;
|
||||
validationError: any;
|
||||
isEditor: boolean;
|
||||
dashboardId?: number;
|
||||
|
||||
/** @ngInject */
|
||||
constructor(private backendSrv, private validationSrv, private contextSrv) {
|
||||
@ -131,6 +132,7 @@ export class FolderPickerCtrl {
|
||||
private loadInitialValue() {
|
||||
const resetFolder = { text: this.initialTitle, value: null };
|
||||
const rootFolder = { text: this.rootName, value: 0 };
|
||||
const emptyFolder = { text: '', value: null };
|
||||
|
||||
this.getOptions('').then(result => {
|
||||
let folder;
|
||||
@ -144,7 +146,13 @@ export class FolderPickerCtrl {
|
||||
if (this.isEditor) {
|
||||
folder = rootFolder;
|
||||
} 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() {
|
||||
exitFolderCreation: '&',
|
||||
enableCreateNew: '@',
|
||||
enableReset: '@',
|
||||
dashboardId: '<?',
|
||||
},
|
||||
};
|
||||
}
|
||||
|
@ -25,7 +25,8 @@ const template = `
|
||||
enter-folder-creation="ctrl.onEnterFolderCreation()"
|
||||
exit-folder-creation="ctrl.onExitFolderCreation()"
|
||||
enable-create-new="true"
|
||||
label-class="width-7">
|
||||
label-class="width-7"
|
||||
dashboard-id="ctrl.clone.id">
|
||||
</folder-picker>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -51,7 +51,8 @@
|
||||
on-change="ctrl.onFolderChange($folder)"
|
||||
enable-create-new="true"
|
||||
is-valid-selection="true"
|
||||
label-class="width-7">
|
||||
label-class="width-7"
|
||||
dashboard-id="ctrl.dashboard.id">
|
||||
</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>
|
||||
|
Loading…
Reference in New Issue
Block a user