From 7065020524855df261022fce0848583200c8d35c Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Fri, 21 Feb 2020 15:59:05 +0100
Subject: [PATCH] FEAT #12091 TIME 1 navigate on same url after close and index
 action

---
 src/frontend/app/actions/actions.service.ts   |  4 ++--
 .../app/indexation/indexation.component.ts    | 23 +++++++++++++++++--
 2 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/src/frontend/app/actions/actions.service.ts b/src/frontend/app/actions/actions.service.ts
index b5383b3dc6b..42a1023e215 100644
--- a/src/frontend/app/actions/actions.service.ts
+++ b/src/frontend/app/actions/actions.service.ts
@@ -314,11 +314,11 @@ export class ActionsService {
                     }
                 });
                 if (redirectAfterClose != '') {
-                    this.router.navigate([redirectAfterClose]);
+                    this.router.navigate([redirectAfterClose], { queryParams: {refresh: new Date().getTime()} });
                 } else if (firstGroup == 0) {
                     this.router.navigate(['/home']);
                 } else {
-                    this.router.navigate(['/indexing/' + firstGroup]);
+                    this.router.navigate(['/indexing/' + firstGroup], { queryParams: {refresh: new Date().getTime()} });
                 }
             }),
             finalize(() => this.loading = false),
diff --git a/src/frontend/app/indexation/indexation.component.ts b/src/frontend/app/indexation/indexation.component.ts
index 69173b0ae05..1d1f2a93422 100644
--- a/src/frontend/app/indexation/indexation.component.ts
+++ b/src/frontend/app/indexation/indexation.component.ts
@@ -5,7 +5,7 @@ import { NotificationService } from '../notification.service';
 import { MatDialog, MatDialogRef } from '@angular/material/dialog';
 import { MatSidenav } from '@angular/material/sidenav';
 
-import { ActivatedRoute, Router } from '@angular/router';
+import { ActivatedRoute, Router, ParamMap } from '@angular/router';
 import { HeaderService } from '../../service/header.service';
 import { FiltersListService } from '../../service/filtersList.service';
 
@@ -85,8 +85,27 @@ export class IndexationComponent implements OnInit {
     }
 
     ngOnInit(): void {
-        this.loading = false;
+        // Use to clean data after navigate on same url
+        this._activatedRoute.queryParamMap.subscribe((paramMap: ParamMap) => {
+            const refresh = paramMap.get('refresh');
+            if (refresh) {
+                this.appDocumentViewer.templateListForm.reset();
+                this.appDocumentViewer.file = {
+                    name: '',
+                    type: '',
+                    content: null,
+                    src: null
+                };
+                this.appDocumentViewer.triggerEvent.emit('cleanFile');
+                this.loadIndexingModel(this.indexingModels[0]);
+            }
+        });
 
+        this.fetchData();
+    }
+
+    fetchData() {
+        this.loading = false;
         this.headerService.setHeader("Enregistrement d'un courrier");
 
         this.route.params.subscribe(params => {
-- 
GitLab