소스 검색

dashfolders: support creating new folder when moving dashboards. #10197

Marcus Efraimsson 8 년 전
부모
커밋
4846125ec0

+ 4 - 1
public/app/features/dashboard/move_to_folder_modal/move_to_folder.html

@@ -18,12 +18,15 @@
           <folder-picker
             on-load="ctrl.onFolderChange($folder)"
             on-change="ctrl.onFolderChange($folder)"
+            enter-folder-creation="ctrl.onEnterFolderCreation()"
+            exit-folder-creation="ctrl.onExitFolderCreation()"
+            enable-create-new="true"
             label-class="width-7">
           </folder-picker>
       </div>
     </div>
     <div class="gf-form-button-row text-center">
-      <button type="submit" class="btn btn-success" ng-disabled="ctrl.saveForm.$invalid">Move</button>
+      <button type="submit" class="btn btn-success" ng-disabled="ctrl.saveForm.$invalid || !ctrl.isValidFolderSelection">Move</button>
       <a class="btn-text" ng-click="ctrl.dismiss();">Cancel</a>
     </div>
   </form>

+ 9 - 0
public/app/features/dashboard/move_to_folder_modal/move_to_folder.ts

@@ -6,6 +6,7 @@ export class MoveToFolderCtrl {
   folder: any;
   dismiss: any;
   afterSave: any;
+  isValidFolderSelection = true;
 
   /** @ngInject */
   constructor(private backendSrv) {}
@@ -39,6 +40,14 @@ export class MoveToFolderCtrl {
         return this.afterSave();
       });
   }
+
+  onEnterFolderCreation() {
+    this.isValidFolderSelection = false;
+  }
+
+  onExitFolderCreation() {
+    this.isValidFolderSelection = true;
+  }
 }
 
 export function moveToFolderModal() {