From ebc0fdec2b5703afd714f5b6ccb4785a61476bbe Mon Sep 17 00:00:00 2001
From: Alex ORLUC <alex.orluc@maarch.org>
Date: Wed, 28 Aug 2019 12:50:26 +0200
Subject: [PATCH] FEAT #11291 TIME 0:15 add resfresh folder event

---
 src/frontend/app/actions/actions-list.component.html         | 2 +-
 src/frontend/app/actions/actions-list.component.ts           | 5 +++++
 .../folder/document-list/folder-document-list.component.ts   | 1 -
 src/frontend/app/folder/folder-menu/folder-menu.component.ts | 2 ++
 src/frontend/app/folder/panel/panel-folder.component.ts      | 4 ++++
 src/frontend/app/list/basket-list.component.html             | 4 ++--
 6 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/src/frontend/app/actions/actions-list.component.html b/src/frontend/app/actions/actions-list.component.html
index 9b2757be757..a196d2be05e 100644
--- a/src/frontend/app/actions/actions-list.component.html
+++ b/src/frontend/app/actions/actions-list.component.html
@@ -14,5 +14,5 @@
         <span>{{action.label_action}}</span>
     </button>
     <mat-divider></mat-divider>
-    <folder-menu [resIds]="selectedRes" (refreshList)="refreshList()"></folder-menu>
+    <folder-menu [resIds]="selectedRes" (refreshList)="refreshList()" (refreshFolders)="refreshFolders()"></folder-menu>
 </mat-menu>
\ No newline at end of file
diff --git a/src/frontend/app/actions/actions-list.component.ts b/src/frontend/app/actions/actions-list.component.ts
index 37babcc36a1..72d43f38eb2 100644
--- a/src/frontend/app/actions/actions-list.component.ts
+++ b/src/frontend/app/actions/actions-list.component.ts
@@ -54,6 +54,7 @@ export class ActionsListComponent implements OnInit {
     @Input('currentBasketInfo') currentBasketInfo: any;
 
     @Output('refreshEvent') refreshEvent = new EventEmitter<string>();
+    @Output('refreshPanelFolders') refreshPanelFolders = new EventEmitter<string>();
 
     constructor(public http: HttpClient, private notify: NotificationService, public dialog: MatDialog, private router: Router) { }
 
@@ -500,4 +501,8 @@ export class ActionsListComponent implements OnInit {
     refreshList() {
         this.refreshEvent.emit();
     }
+
+    refreshFolders() {
+        this.refreshPanelFolders.emit();  
+    }
 }
diff --git a/src/frontend/app/folder/document-list/folder-document-list.component.ts b/src/frontend/app/folder/document-list/folder-document-list.component.ts
index c3b3134eacb..8baaf595f3b 100644
--- a/src/frontend/app/folder/document-list/folder-document-list.component.ts
+++ b/src/frontend/app/folder/document-list/folder-document-list.component.ts
@@ -239,7 +239,6 @@ export class FolderDocumentListComponent implements OnInit {
     refreshDaoAfterAction() {
         this.sidenavRight.close();
         this.refreshDao();
-        this.basketHome.refreshBasketHome();
         const e: any = { checked: false };
         this.toggleAllRes(e);
     }
diff --git a/src/frontend/app/folder/folder-menu/folder-menu.component.ts b/src/frontend/app/folder/folder-menu/folder-menu.component.ts
index 1682a30c24f..ce56565b6ec 100644
--- a/src/frontend/app/folder/folder-menu/folder-menu.component.ts
+++ b/src/frontend/app/folder/folder-menu/folder-menu.component.ts
@@ -18,6 +18,7 @@ export class FolderMenuComponent implements OnInit {
     foldersList: any[] = [];
     @Input('resIds') resIds: number[];
 
+    @Output('refreshFolders') refreshFolders = new EventEmitter<string>();
     @Output('refreshList') refreshList = new EventEmitter<string>();
 
     constructor(
@@ -40,6 +41,7 @@ export class FolderMenuComponent implements OnInit {
 
         this.http.post('../../rest/folders/' + folder.id + '/resources', { resources: this.resIds }).pipe(
             tap(() => {
+                this.refreshFolders.emit();
                 this.refreshList.emit();
                 this.notify.success('Courrier classé');
             }),
diff --git a/src/frontend/app/folder/panel/panel-folder.component.ts b/src/frontend/app/folder/panel/panel-folder.component.ts
index 43b49a802f5..bcccf869977 100644
--- a/src/frontend/app/folder/panel/panel-folder.component.ts
+++ b/src/frontend/app/folder/panel/panel-folder.component.ts
@@ -37,4 +37,8 @@ export class PanelFolderComponent implements OnInit {
     refreshDocList() {
         this.refreshEvent.emit();
     }
+
+    refreshFoldersTree() {
+        this.folderTree.getFolders();
+    }
 }
diff --git a/src/frontend/app/list/basket-list.component.html b/src/frontend/app/list/basket-list.component.html
index b32196eeddf..d675b4bd0ec 100644
--- a/src/frontend/app/list/basket-list.component.html
+++ b/src/frontend/app/list/basket-list.component.html
@@ -49,7 +49,7 @@
                             <span>
                                 <app-actions-list #actionsList (refreshEvent)="refreshDao()"
                                     [contextMode]="false" [totalRes]="allResInBasket.length" [selectedRes]="selectedRes"
-                                    [currentBasketInfo]="currentBasketInfo"></app-actions-list>
+                                    [currentBasketInfo]="currentBasketInfo" (refreshPanelFolders)="panelFolder.refreshFoldersTree()"></app-actions-list>
                             </span>
                             <span>
                                 <app-tools-list #actionsList [selectedRes]="selectedRes"
@@ -200,5 +200,5 @@
         </mat-sidenav>
     </mat-sidenav-container>
     <app-actions-list (refreshEvent)="refreshDao()" #actionsListContext [contextMode]="true"
-        [totalRes]="allResInBasket.length" [selectedRes]="selectedRes" [currentBasketInfo]="currentBasketInfo">
+        [totalRes]="allResInBasket.length" [selectedRes]="selectedRes" [currentBasketInfo]="currentBasketInfo" (refreshPanelFolders)="panelFolder.refreshFoldersTree()">
     </app-actions-list>
\ No newline at end of file
-- 
GitLab