Browse Source

fix: folder picker did not notify parent that the initial folder had been changed, fixes #12543 (#12554)

Torkel Ödegaard 7 years ago
parent
commit
b4e0ace7a2
1 changed files with 7 additions and 14 deletions
  1. 7 14
      public/app/features/dashboard/folder_picker/folder_picker.ts

+ 7 - 14
public/app/features/dashboard/folder_picker/folder_picker.ts

@@ -104,10 +104,7 @@ export class FolderPickerCtrl {
       appEvents.emit('alert-success', ['Folder Created', 'OK']);
       appEvents.emit('alert-success', ['Folder Created', 'OK']);
 
 
       this.closeCreateFolder();
       this.closeCreateFolder();
-      this.folder = {
-        text: result.title,
-        value: result.id,
-      };
+      this.folder = { text: result.title, value: result.id };
       this.onFolderChange(this.folder);
       this.onFolderChange(this.folder);
     });
     });
   }
   }
@@ -149,17 +146,14 @@ export class FolderPickerCtrl {
           folder = result.length > 0 ? result[0] : resetFolder;
           folder = result.length > 0 ? result[0] : resetFolder;
         }
         }
       }
       }
+
       this.folder = folder;
       this.folder = folder;
-      this.onFolderLoad();
-    });
-  }
 
 
-  private onFolderLoad() {
-    if (this.onLoad) {
-      this.onLoad({
-        $folder: { id: this.folder.value, title: this.folder.text },
-      });
-    }
+      // if this is not the same as our initial value notify parent
+      if (this.folder.id !== this.initialFolderId) {
+        this.onChange({ $folder: { id: this.folder.value, title: this.folder.text } });
+      }
+    });
   }
   }
 }
 }
 
 
@@ -176,7 +170,6 @@ export function folderPicker() {
       labelClass: '@',
       labelClass: '@',
       rootName: '@',
       rootName: '@',
       onChange: '&',
       onChange: '&',
-      onLoad: '&',
       onCreateFolder: '&',
       onCreateFolder: '&',
       enterFolderCreation: '&',
       enterFolderCreation: '&',
       exitFolderCreation: '&',
       exitFolderCreation: '&',