From f679248ef5e109b5a7f5ef15365390686962b0cd Mon Sep 17 00:00:00 2001
From: FORESTIER Fabien <fabien.forestier@soprasteria.com>
Date: Mon, 18 Mar 2019 17:33:03 +0100
Subject: [PATCH] Add custom input to page-header component in order to be able
 to customise the goToPreviousPage behavior

---
 .../dataset-detail.component.html               |  2 +-
 .../page-header/page-header.component.ts        | 17 +++++++++++------
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/app/geosource/components/dataset-detail/dataset-detail.component.html b/src/app/geosource/components/dataset-detail/dataset-detail.component.html
index 2253de57..ed7db459 100644
--- a/src/app/geosource/components/dataset-detail/dataset-detail.component.html
+++ b/src/app/geosource/components/dataset-detail/dataset-detail.component.html
@@ -1,7 +1,7 @@
 <div class="page-details-background-image"></div>
 <div class="page-container has-white-background" *ngIf="metadata" [ngClass]="{'blury' : isLoading}">
   <div class="details-header">
-    <app-page-header [pageInfo]="pageHeaderInfo"></app-page-header>
+    <app-page-header [pageInfo]="pageHeaderInfo" [customGoToPreviousPage]="goToPreviousPage"></app-page-header>
   </div>
 
   <div class="tabulations">
diff --git a/src/app/shared/components/page-header/page-header.component.ts b/src/app/shared/components/page-header/page-header.component.ts
index 3166c6e3..e5bb17ba 100644
--- a/src/app/shared/components/page-header/page-header.component.ts
+++ b/src/app/shared/components/page-header/page-header.component.ts
@@ -17,19 +17,24 @@ export class PageHeaderComponent implements OnInit {
   ) { }
 
   @Input() pageInfo: IPageHeaderInfo;
+  @Input() customGoToPreviousPage: any;
 
   ngOnInit() {
   }
 
   goToPreviousPage() {
-    const index = 1; // Start to retrieve the previous element
-    let url = this._navigationHistoryService.getFromLast(index);
+    if (this.customGoToPreviousPage) {
+      this.customGoToPreviousPage();
+    } else {
+      const index = 1; // Start to retrieve the previous element
+      let url = this._navigationHistoryService.getFromLast(index);
 
-    // If url is null then redirect to home page
-    if (url == null) {
-      url = `/${AppRoutes.home.uri}`;
+      // If url is null then redirect to home page
+      if (url == null) {
+        url = `/${AppRoutes.home.uri}`;
+      }
+      this._router.navigateByUrl(url);
     }
-    this._router.navigateByUrl(url);
   }
 
 }
-- 
GitLab