From 02fa38478d6968b53b8dece439e0842a6ea4c229 Mon Sep 17 00:00:00 2001
From: jdestin <jeremy.destin@inra.fr>
Date: Wed, 20 Mar 2019 14:44:43 +0100
Subject: [PATCH 01/14] refactor: Use angular-coordinates to display the
 coordinates with degrees on site card. Issue #15

---
 .../app/site-card/site-card.component.html    | 14 +++++---
 .../app/site-card/site-card.component.spec.ts |  9 ++++--
 .../src/app/site-card/site-card.component.ts  | 32 ++-----------------
 3 files changed, 20 insertions(+), 35 deletions(-)

diff --git a/frontend/src/app/site-card/site-card.component.html b/frontend/src/app/site-card/site-card.component.html
index f2882f3f..654ad2a8 100644
--- a/frontend/src/app/site-card/site-card.component.html
+++ b/frontend/src/app/site-card/site-card.component.html
@@ -75,13 +75,19 @@
 
         <faidare-card-row
           label="Latitude"
-          [value]="formatCoordinates(location.latitude, 'latitude')">
-        </faidare-card-row>
+          [test]="location.latitude">
+          <ng-template>
+            {{ location.latitude }} ({{ location.latitude | coordinates:type.ToDegrees:direction.Latitude }})
+          </ng-template>
+        </gpds-card-row>
 
         <faidare-card-row
           label="Longitude"
-          [value]="formatCoordinates(location.longitude, 'longitude')">
-        </faidare-card-row>
+          [test]="location.longitude">
+          <ng-template>
+            {{ location.longitude }} ({{ location.longitude | coordinates:type.ToDegrees:direction.Longitude }})
+          </ng-template>
+        </gpds-card-row>
 
         <faidare-card-row
           label="Geographical location"
diff --git a/frontend/src/app/site-card/site-card.component.spec.ts b/frontend/src/app/site-card/site-card.component.spec.ts
index a8d0604c..bbf6a293 100644
--- a/frontend/src/app/site-card/site-card.component.spec.ts
+++ b/frontend/src/app/site-card/site-card.component.spec.ts
@@ -14,6 +14,7 @@ import { DataDiscoverySource } from '../models/data-discovery.model';
 import { GnpisService } from '../gnpis.service';
 import { MockComponent } from 'ng-mocks';
 import { XrefsComponent } from '../xrefs/xrefs.component';
+import { CoordinatesPipe, CoordinatesService } from 'angular-coordinates';
 
 
 describe('SiteCardComponent', () => {
@@ -23,6 +24,10 @@ describe('SiteCardComponent', () => {
     const gnpisService = jasmine.createSpyObj(
         'GnpisService', ['getSource']
     );
+    const coordinatesService = jasmine.createSpyObj(
+        'CoordinatesService', ['transform']
+    );
+
     const response: BrapiResult<BrapiLocation> = {
         metadata: null,
         result: {
@@ -65,12 +70,13 @@ describe('SiteCardComponent', () => {
         TestBed.configureTestingModule({
             declarations: [
                 SiteCardComponent, MapComponent, LoadingSpinnerComponent,
-                CardRowComponent, CardSectionComponent, CardTableComponent,
+                CardRowComponent, CardSectionComponent, CardTableComponent, CoordinatesPipe,
                 MockComponent(XrefsComponent)
             ],
             providers: [
                 { provide: BrapiService, useValue: brapiService },
                 { provide: GnpisService, useValue: gnpisService },
+                { provide: CoordinatesService, useValue: coordinatesService },
                 {
                     provide: ActivatedRoute,
                     useValue: {
@@ -89,7 +95,6 @@ describe('SiteCardComponent', () => {
 
     it('should display site', () => {
         const fixture = TestBed.createComponent(SiteCardComponent);
-        const component = fixture.componentInstance;
         brapiService.location.and.returnValues(of(response));
         gnpisService.getSource.and.returnValue(of(source));
         fixture.detectChanges();
diff --git a/frontend/src/app/site-card/site-card.component.ts b/frontend/src/app/site-card/site-card.component.ts
index a376c2e7..3e2e2aaa 100644
--- a/frontend/src/app/site-card/site-card.component.ts
+++ b/frontend/src/app/site-card/site-card.component.ts
@@ -5,6 +5,7 @@ import { BrapiLocation } from '../models/brapi.model';
 import { KeyValueObject, toKeyValueObjects } from '../utils';
 import { DataDiscoverySource } from '../models/data-discovery.model';
 import { GnpisService } from '../gnpis.service';
+import { Direction, TransformationType } from 'angular-coordinates';
 
 @Component({
     selector: 'faidare-site-card',
@@ -16,6 +17,8 @@ export class SiteCardComponent implements OnInit {
     location: BrapiLocation;
     locationSource: DataDiscoverySource;
     additionalInfos: KeyValueObject[];
+    direction = Direction;
+    type = TransformationType;
     loading = true;
 
     constructor(private brapiService: BrapiService, private gnpisService: GnpisService, private route: ActivatedRoute) {
@@ -73,34 +76,5 @@ export class SiteCardComponent implements OnInit {
             }
         }
     }
-
-    formatCoordinates(decimalDegrees: number, type: string): string {
-        if (decimalDegrees && type) {
-            const degree = Math.floor(decimalDegrees);
-            const decimalMinute = (decimalDegrees - degree) * 60;
-            const minute = Math.floor(decimalMinute);
-            const decimalSeconde = (decimalMinute - minute) * 60;
-            const seconde = Math.floor(decimalSeconde);
-
-            let direction = '';
-            if (type === 'latitude') {
-                if (decimalDegrees >= 0) {
-                    direction = 'N';
-                } else {
-                    direction = 'S';
-                }
-            } else if (type === 'longitude') {
-                if (decimalDegrees >= 0) {
-                    direction = 'E';
-                } else {
-                    direction = 'W';
-                }
-            }
-            return decimalDegrees + '° (' + degree + '° ' + minute + '\' ' + seconde + '\'\' ' + direction + ')';
-        } else {
-            return null;
-        }
-    }
-
 }
 
-- 
GitLab


From a414a4c0d35c7839ceddc68901e46af124c94f11 Mon Sep 17 00:00:00 2001
From: jdestin <jeremy.destin@inra.fr>
Date: Thu, 21 Mar 2019 10:31:59 +0100
Subject: [PATCH 02/14] fix: Center horizontally the image on small screen. Use
 auto for popover placement. Add non breakable space and space for some field
 to break on small screen. Fix the point of the markers. Issue #16

---
 .../germplasm-card/germplasm-card.component.html | 16 +++++++++-------
 frontend/src/app/map/map.component.ts            |  3 ++-
 .../app/result-page/result-page.component.html   |  2 +-
 frontend/src/styles.scss                         |  4 ++++
 4 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/frontend/src/app/germplasm-card/germplasm-card.component.html b/frontend/src/app/germplasm-card/germplasm-card.component.html
index a7d4ccd8..0389ea88 100644
--- a/frontend/src/app/germplasm-card/germplasm-card.component.html
+++ b/frontend/src/app/germplasm-card/germplasm-card.component.html
@@ -2,7 +2,7 @@
 
 <ng-container *ngIf="germplasmGnpis">
   <h3 class="mb-4">
-    <img *ngIf="germplasmGnpis.holdingGenbank && germplasmGnpis.holdingGenbank.instituteName"
+    <img *ngIf="!loading && germplasmGnpis.holdingGenbank && germplasmGnpis.holdingGenbank.instituteName"
          [src]="germplasmGnpis.holdingGenbank.logo"
          align="right"/>
     Germplasm: {{ germplasmGnpis.germplasmName }}
@@ -11,7 +11,7 @@
   <!-- Display the map -->
   <faidare-map [locations]="germplasmLocations"></faidare-map>
 
-  <div class="row align-items-center">
+  <div class="row align-items-center justify-content-center">
 
     <!--Templates for gerplasm card-->
 
@@ -169,6 +169,8 @@
     </ng-template>
 
     <!--Section for the image representing the germplasm and the details about this image-->
+    <div class="col-auto field" *ngIf="germplasmGnpis.photo && germplasmGnpis.photo.thumbnailFileName">
+      <a class="btn popovers" data-boundary="window" placement="auto" [ngbPopover]="imageTemplate"
     <div class="col-auto field" *ngIf="germplasmGnpis.photo && germplasmGnpis.photo.thumbnailFile">
       <a class="btn popovers" data-boundary="window" placement="auto"
          [autoClose]="'outside'"
@@ -339,7 +341,7 @@
               {{ germplasmGnpis.holdingInstitute.instituteName }}</a>
           </ng-template>
         </faidare-card-row>
-  
+
         <faidare-card-row
           label="Stock center name"
           [test]="germplasmGnpis.holdingGenbank.instituteName && germplasmGnpis.holdingGenbank.webSite">
@@ -401,15 +403,15 @@
         </faidare-card-row>
 
         <faidare-card-row
-          label="Acquisition/Creation date"
+          label="Acquisition / Creation date"
           [test]="germplasmGnpis.collector.accessionCreationDate">
           <ng-template>
-            {{ germplasmGnpis.collector.accessionCreationDate | amParse:'YYYYMMDD' | amDateFormat:'YYYY-MM-DD' }}
+            {{ germplasmGnpis.collector.accessionCreationDate }}
           </ng-template>
         </faidare-card-row>
 
         <faidare-card-row
-          label="Acquisition/Creation date"
+          label="Acquisition / Creation date"
           [test]="germplasmGnpis.acquisitionDate && !germplasmGnpis.collector.accessionCreationDate">
           <ng-template>
             {{ germplasmGnpis.acquisitionDate }}
@@ -519,7 +521,7 @@
             <td>{{ row.donationDate }}</td>
             <td>{{ row.donorAccessionNumber }}</td>
             <td>{{ row.donorGermplasmPUI }}</td>
-            </tr>
+          </tr>
         </ng-template>
       </faidare-card-table>
 
diff --git a/frontend/src/app/map/map.component.ts b/frontend/src/app/map/map.component.ts
index 90ee33ac..979f5415 100644
--- a/frontend/src/app/map/map.component.ts
+++ b/frontend/src/app/map/map.component.ts
@@ -37,7 +37,8 @@ export class MapComponent implements OnInit {
             const markers = new MarkerClusterGroup();
             for (const location of this.curatedLocationList) {
                 const icon = L.icon({
-                    iconUrl: this.getMarkerIconUrl(location)
+                    iconUrl: this.getMarkerIconUrl(location),
+                    iconAnchor:   [12, 41], // point of the icon which will correspond to marker's location
                 });
                 const popupText = `
                   <b>${location.locationName}</b><br/>
diff --git a/frontend/src/app/result-page/result-page.component.html b/frontend/src/app/result-page/result-page.component.html
index 33af7dba..c2771854 100644
--- a/frontend/src/app/result-page/result-page.component.html
+++ b/frontend/src/app/result-page/result-page.component.html
@@ -48,7 +48,7 @@
       <div class="container">
         <div class="row result align-content-center">
           <span class="col-4 mt-2 bolder">
-            Results :
+            Results&nbsp;:
           </span>
           <span *ngIf="pagination.totalResult" class="col-8 text-right small text-muted mt-3">
           From {{ pagination.startResult | number }} to {{ pagination.endResult | number }}
diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss
index e5b4643c..03303a34 100644
--- a/frontend/src/styles.scss
+++ b/frontend/src/styles.scss
@@ -46,3 +46,7 @@ h3 {
   left: 720px;
   background-color: #F9F9F9;
 }
+
+.popover {
+  width: 100%;
+}
-- 
GitLab


From e5c1ecd823bb34eeb15c01e0b99c8dcb269ff74e Mon Sep 17 00:00:00 2001
From: jdestin <jeremy.destin@inra.fr>
Date: Thu, 21 Mar 2019 18:14:25 +0100
Subject: [PATCH 03/14] refactor: Set all the sources images to the same size.
 Issue #16

---
 frontend/src/app/germplasm-card/germplasm-card.component.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/frontend/src/app/germplasm-card/germplasm-card.component.html b/frontend/src/app/germplasm-card/germplasm-card.component.html
index 0389ea88..1440723d 100644
--- a/frontend/src/app/germplasm-card/germplasm-card.component.html
+++ b/frontend/src/app/germplasm-card/germplasm-card.component.html
@@ -243,7 +243,7 @@
             <ng-template>
               <a target="_blank"
                  [href]="germplasmSource['schema:url']">
-                <img [src]="germplasmSource['schema:image']" alt="Germplasm source image"/>
+                <img [src]="germplasmSource['schema:image']" alt="Germplasm source image" style="height: 60px"/>
               </a>
             </ng-template>
           </faidare-card-row>
-- 
GitLab


From 8ec313dcba21b79b58ad71b097c976554ee71401 Mon Sep 17 00:00:00 2001
From: jdestin <jeremy.destin@inra.fr>
Date: Mon, 25 Mar 2019 16:38:49 +0100
Subject: [PATCH 04/14] fix: Fix some issues reference in Issue #15

---
 .../app/card-table/card-table.component.html  |  32 ++--
 .../app/card-table/card-table.component.scss  |  20 +-
 .../germplasm-card.component.html             |  25 +--
 .../germplasm-card.component.spec.ts          |   4 +-
 .../germplasm-card.component.ts               |   7 +
 frontend/src/app/map/map.component.scss       |   4 +-
 frontend/src/app/navbar/navbar.component.html |   4 +-
 .../document/document.component.html          |  14 +-
 .../result-page/result-page.component.html    |   2 +-
 .../app/site-card/site-card.component.html    |   4 +-
 .../app/study-card/study-card.component.html  | 172 +++++++++---------
 frontend/src/app/xrefs/xrefs.component.html   |  26 +--
 frontend/src/environments/environment.ts      |   6 +-
 frontend/src/styles.scss                      |  19 +-
 14 files changed, 183 insertions(+), 156 deletions(-)

diff --git a/frontend/src/app/card-table/card-table.component.html b/frontend/src/app/card-table/card-table.component.html
index 93b0d733..ad60e888 100644
--- a/frontend/src/app/card-table/card-table.component.html
+++ b/frontend/src/app/card-table/card-table.component.html
@@ -1,17 +1,15 @@
-<div class="table-responsive scroll-table table-card-body">
-  <table class="table table-sm table-striped">
-    <thead *ngIf="headers">
-      <tr>
-        <th *ngFor="let header of headers" scope="col">
-          {{ header }}
-        </th>
-      </tr>
-    </thead>
-    <tbody>
-      <ng-container *ngFor="let row of rows"
-                    [ngTemplateOutlet]="template"
-                    [ngTemplateOutletContext]="{$implicit: row}">
-      </ng-container>
-    </tbody>
-  </table>
-</div>
+<table class="table table-sm table-striped">
+  <thead *ngIf="headers">
+  <tr>
+    <th *ngFor="let header of headers" scope="col">
+      {{ header }}
+    </th>
+  </tr>
+  </thead>
+  <tbody>
+  <ng-container *ngFor="let row of rows"
+                [ngTemplateOutlet]="template"
+                [ngTemplateOutletContext]="{$implicit: row}">
+  </ng-container>
+  </tbody>
+</table>
diff --git a/frontend/src/app/card-table/card-table.component.scss b/frontend/src/app/card-table/card-table.component.scss
index 85f3be7e..bcf9e148 100644
--- a/frontend/src/app/card-table/card-table.component.scss
+++ b/frontend/src/app/card-table/card-table.component.scss
@@ -1,19 +1,7 @@
 
-.scroll-table {
-  max-height: 200px;
-  overflow-y: auto;
-
-  thead th {
-    position: sticky;
-    top: 0;
-    background-color: white;
-  }
+thead th {
+  position: sticky;
+  top: 0;
+  background-color: white;
 }
 
-.table-card-body {
-  padding: 0;
-  border: 2px solid rgb(195, 214, 226);
-  border-top-width: 0px;
-  border-bottom-left-radius: 0.25rem;
-  border-bottom-right-radius: 0.25rem;
-}
diff --git a/frontend/src/app/germplasm-card/germplasm-card.component.html b/frontend/src/app/germplasm-card/germplasm-card.component.html
index 1440723d..0e97b317 100644
--- a/frontend/src/app/germplasm-card/germplasm-card.component.html
+++ b/frontend/src/app/germplasm-card/germplasm-card.component.html
@@ -179,8 +179,8 @@
         <img
           [src]="germplasmGnpis.photo.thumbnailFile"
           class="img-fluid">
-        <figcaption class="figure-caption">
-          Click to see more details
+        <figcaption class="figure-caption" style="color: #0f6fa1;">
+          © {{ germplasmGnpis.photo.copyright }}
         </figcaption>
       </a>
 
@@ -253,7 +253,7 @@
             [test]="germplasmSource['schema:identifier'] && germplasmGnpis.documentationURL">
             <ng-template>
               <a target="_blank" [href]="germplasmGnpis.documentationURL">
-                Link to this study on {{ germplasmSource['schema:identifier'] }}
+                Link to this germplasm on {{ germplasmSource['schema:name'] }}
               </a>
             </ng-template>
           </faidare-card-row>
@@ -324,8 +324,8 @@
   </div>
 
   <!--Section for the information about the holding of the germplasm-->
-  <faidare-card-section
-    header="Holding"
+  <gpds-card-section
+    header="Depositary"
     [test]="germplasmGnpis.holdingInstitute">
     <ng-template>
       <div class="card-body card-section-body">
@@ -371,7 +371,7 @@
 
   <!--Section for the information about the collector of the germplasm-->
   <faidare-card-section
-    header="Collecting"
+    header="Collector"
     [test]="checkCollecting()">
     <ng-template>
       <div class="card-body card-section-body">
@@ -492,7 +492,7 @@
     header="Donor"
     [test]="germplasmGnpis.donors && germplasmGnpis.donors.length > 0">
     <ng-template>
-
+      <div class="table-responsive scroll-table table-card-body">
       <faidare-card-table
         [headers]="[
                 'Institute name',
@@ -525,6 +525,8 @@
         </ng-template>
       </faidare-card-table>
 
+      </faidare-card-table>
+      </div>
     </ng-template>
   </faidare-card-section>
 
@@ -533,6 +535,7 @@
     header="Distributor"
     [test]="germplasmGnpis.distributors && germplasmGnpis.distributors.length>0">
     <ng-template>
+      <div class="table-responsive scroll-table table-card-body">
 
       <!--TODO : Add order column when ordering URL will be available-->
       <faidare-card-table
@@ -561,8 +564,9 @@
             <td>{{ row.distributionStatus }}</td>
           </tr>
         </ng-template>
-      </faidare-card-table>
 
+      </faidare-card-table>
+      </div>
     </ng-template>
   </faidare-card-section>
 
@@ -768,9 +772,8 @@
     <ng-template>
       <div class="card-body card-section-body">
         <ng-container *ngFor="let panel of germplasmGnpis.panel">
-
-          <faidare-card-row
-            [label]="panel.type ? panel.name + ' (' + panel.type + ')' : panel.name">
+          <gpds-card-row
+            [label]="panel.type ? panel.name.replace(toReplace, ' ') + ' (' + panel.type + ')' : panel.name.replace(toReplace,' ')">
             <ng-template>
               <a [routerLink]="['/']"
                  [queryParams]="{germplasmLists: panel.name, types: 'Germplasm'}">
diff --git a/frontend/src/app/germplasm-card/germplasm-card.component.spec.ts b/frontend/src/app/germplasm-card/germplasm-card.component.spec.ts
index 2ca7f83f..a104f5e3 100644
--- a/frontend/src/app/germplasm-card/germplasm-card.component.spec.ts
+++ b/frontend/src/app/germplasm-card/germplasm-card.component.spec.ts
@@ -246,8 +246,8 @@ describe('GermplasmCardComponent', () => {
             tester.detectChanges();
             expect(tester.title).toContainText('Germplasm: test');
             expect(tester.cardHeader[0]).toContainText('Identification');
-            expect(tester.cardHeader[1]).toContainText('Holding');
-            expect(tester.cardHeader[2]).toContainText('Collecting');
+            expect(tester.cardHeader[1]).toContainText('Depositary');
+            expect(tester.cardHeader[2]).toContainText('Collector');
             expect(tester.cardHeader[3]).toContainText('Breeder');
             expect(tester.cardHeader[4]).toContainText('Donor');
             expect(tester.cardHeader[5]).toContainText('Distributor');
diff --git a/frontend/src/app/germplasm-card/germplasm-card.component.ts b/frontend/src/app/germplasm-card/germplasm-card.component.ts
index e02c0cdf..aeb15d32 100644
--- a/frontend/src/app/germplasm-card/germplasm-card.component.ts
+++ b/frontend/src/app/germplasm-card/germplasm-card.component.ts
@@ -45,6 +45,13 @@ export class GermplasmCardComponent implements OnInit {
     germplasmTaxon: string;
     germplasmTaxonAuthor: string;
     germplasmSource: DataDiscoverySource;
+    toReplace = /_/g;
+
+    // TODO extract those url in a configuration file. URL maybe be added during extraction.
+    IMAGES_ACCESSION_URL = 'https://urgi.versailles.inra.fr/files/siregal/images/accession/';
+    IMAGES_INSTITUTION_URL = 'https://urgi.versailles.inra.fr/files/siregal/images//institution/';
+    IMAGES_BRC_URL = 'https://urgi.versailles.inra.fr/files/siregal/images/grc/inra_brc_en.png';
+
 
     loaded: Promise<any>;
     loading = true;
diff --git a/frontend/src/app/map/map.component.scss b/frontend/src/app/map/map.component.scss
index 5f9ab2fd..90a43b30 100644
--- a/frontend/src/app/map/map.component.scss
+++ b/frontend/src/app/map/map.component.scss
@@ -1,7 +1,7 @@
 #map {
   border: #0f6e9f solid 1px;
-  height: 600px;
-  width: 100%
+  height: 400px;
+  width: 100%;
 }
 
 #maplegend {
diff --git a/frontend/src/app/navbar/navbar.component.html b/frontend/src/app/navbar/navbar.component.html
index c73c9936..33094e1e 100644
--- a/frontend/src/app/navbar/navbar.component.html
+++ b/frontend/src/app/navbar/navbar.component.html
@@ -11,13 +11,13 @@
         <li class="nav-item" *ngFor="let link of navbar.links">
 
           <!-- Simple link -->
-          <div *ngIf="!link.subMenu">
+          <div class="mr-2" *ngIf="!link.subMenu">
             <a class="nav-link d-flex align-items-center"
                [href]="link.url" target="_blank">{{ link.label }}</a>
           </div>
 
           <!-- OR Dropdown button -->
-          <div *ngIf="link.subMenu" class="dropdown-container" ngbDropdown>
+          <div class="mr-2" *ngIf="link.subMenu" class="dropdown-container" ngbDropdown>
 
             <!-- Toggle button -->
             <a class="nav-link d-flex align-items-center dropdown-toggle" ngbDropdownToggle
diff --git a/frontend/src/app/result-page/document/document.component.html b/frontend/src/app/result-page/document/document.component.html
index af8a669f..9933a612 100644
--- a/frontend/src/app/result-page/document/document.component.html
+++ b/frontend/src/app/result-page/document/document.component.html
@@ -13,16 +13,18 @@
     </a>
     <a class="title" *ngIf="getRouterLink() && !document['@type'].includes('Phenotyping Study')"
        [routerLink]="getRouterLink()" [queryParams]="getQueryParam()">
-      {{ document["schema:name"] }}
+      {{ document["schema:name"] }},
     </a>
+    <small>
+      or link to this
+      <a *ngIf="getURL()" [href]="getURL()" target="_blank">
+        {{ document['@type'] }} on {{ document['schema:includedInDataCatalog']['schema:name'] }}
+      </a>
+    </small>
   </h5>
 
-  <h5>
-    <a class="title" *ngIf="getURL()" [href]="getURL()" target="_blank">
-      ({{ document['schema:includedInDataCatalog']['schema:identifier'] }} data source link)
-    </a>
-  </h5>
   <span class="text-justify description">
+    <strong>Description :</strong><br>
     <ng-container *ngIf="!needTruncation || opened">
       {{ document["schema:description"] }}
 
diff --git a/frontend/src/app/result-page/result-page.component.html b/frontend/src/app/result-page/result-page.component.html
index c2771854..c6157b7d 100644
--- a/frontend/src/app/result-page/result-page.component.html
+++ b/frontend/src/app/result-page/result-page.component.html
@@ -48,7 +48,7 @@
       <div class="container">
         <div class="row result align-content-center">
           <span class="col-4 mt-2 bolder">
-            Results&nbsp;:
+            Results:
           </span>
           <span *ngIf="pagination.totalResult" class="col-8 text-right small text-muted mt-3">
           From {{ pagination.startResult | number }} to {{ pagination.endResult | number }}
diff --git a/frontend/src/app/site-card/site-card.component.html b/frontend/src/app/site-card/site-card.component.html
index 654ad2a8..4b4fec56 100644
--- a/frontend/src/app/site-card/site-card.component.html
+++ b/frontend/src/app/site-card/site-card.component.html
@@ -22,7 +22,7 @@
           <ng-template>
             <a target="_blank"
                [href]="locationSource['schema:url']">
-              <img [src]="locationSource['schema:image']" alt="Location source image"/>
+              <img [src]="locationSource['schema:image']" alt="Location source image" style="height: 60px"/>
             </a>
           </ng-template>
         </faidare-card-row>
@@ -32,7 +32,7 @@
           [test]="location && location['schema:identifier'] && location.documentationURL">
           <ng-template>
             <a target="_blank" [href]="location.documentationURL">
-              Link to this study on {{ location['schema:identifier'] }}
+              Link to this site on {{ location['schema:name'] }}
             </a>
           </ng-template>
         </faidare-card-row>
diff --git a/frontend/src/app/study-card/study-card.component.html b/frontend/src/app/study-card/study-card.component.html
index 3218208f..89508f4c 100644
--- a/frontend/src/app/study-card/study-card.component.html
+++ b/frontend/src/app/study-card/study-card.component.html
@@ -36,7 +36,7 @@
           <ng-template>
             <a target="_blank"
                [href]="studySource['schema:url']">
-              <img [src]="studySource['schema:image']" alt="Study source image"/>
+              <img [src]="studySource['schema:image']" alt="Study source image" style="height: 60px"/>
             </a>
           </ng-template>
         </faidare-card-row>
@@ -46,7 +46,7 @@
           [test]="studySource && studySource['schema:identifier'] && study.documentationURL">
           <ng-template>
             <a target="_blank" [href]="study.documentationURL">
-              Link to this study on {{ studySource["schema:identifier"] }}
+              Link to this study on {{ studySource["schema:name"] }}
             </a>
           </ng-template>
         </faidare-card-row>
@@ -118,25 +118,27 @@
     header="Genotype"
     [test]="studyGermplasms && studyGermplasms.length != 0">
     <ng-template>
-      <faidare-card-table
-        [headers]="[
+      <div class="table-responsive scroll-table table-card-body">
+        <faidare-card-table
+          [headers]="[
           'Accession number',
           'Name',
           'Taxon'
         ]"
-        [rows]="studyGermplasms">
-        <ng-template let-row>
-          <tr>
-            <td>
-              <a [routerLink]="'/germplasm'" [queryParams]="{id:row.germplasmDbId}">
-                {{ row.accessionNumber }}
-              </a>
-            </td>
-            <td>{{ row.germplasmName }}</td>
-            <td>{{ row.genus }} {{ row.species }} {{ row.subtaxa }}</td>
-          </tr>
-        </ng-template>
-      </faidare-card-table>
+          [rows]="studyGermplasms">
+          <ng-template let-row>
+            <tr>
+              <td>
+                <a [routerLink]="'/germplasm'" [queryParams]="{id:row.germplasmDbId}">
+                  {{ row.accessionNumber }}
+                </a>
+              </td>
+              <td>{{ row.germplasmName }}</td>
+              <td>{{ row.genus }} {{ row.species }} {{ row.subtaxa }}</td>
+            </tr>
+          </ng-template>
+        </faidare-card-table>
+      </div>
     </ng-template>
   </faidare-card-section>
 
@@ -145,31 +147,33 @@
     header="Variables"
     [test]="studyObservationVariables && studyObservationVariables.length != 0">
     <ng-template>
-      <faidare-card-table
-        [headers]="[
+      <div class="table-responsive scroll-table table-card-body">
+        <faidare-card-table
+          [headers]="[
           'Variable id',
           'Variable short name',
           'Variable long name',
           'Ontology name',
           'Trait description'
         ]"
-        [rows]="studyObservationVariables">
-        <ng-template let-row>
-          <tr>
-            <td>
-              <ng-template #name>{{ row.observationVariableDbId }}</ng-template>
-              <ng-template #link>
-                <a target="_blank" [href]=row.documentationURL>{{ row.observationVariableDbId }}</a>
-              </ng-template>
-              <ng-container *ngIf="row.documentationURL; then link else name"></ng-container>
-            </td>
-            <td>{{ row.name }}</td>
-            <td>{{ row.synonyms[0] }}</td>
-            <td>{{ row.ontologyName }}</td>
-            <td>{{ row.trait.description }}</td>
-          </tr>
-        </ng-template>
-      </faidare-card-table>
+          [rows]="studyObservationVariables">
+          <ng-template let-row>
+            <tr>
+              <td>
+                <ng-template #name>{{ row.observationVariableDbId }}</ng-template>
+                <ng-template #link>
+                  <a target="_blank" [href]=row.documentationURL>{{ row.observationVariableDbId }}</a>
+                </ng-template>
+                <ng-container *ngIf="row.documentationURL; then link else name"></ng-container>
+              </td>
+              <td>{{ row.name }}</td>
+              <td>{{ row.synonyms[0] }}</td>
+              <td>{{ row.ontologyName }}</td>
+              <td>{{ row.trait.description }}</td>
+            </tr>
+          </ng-template>
+        </faidare-card-table>
+      </div>
     </ng-template>
   </faidare-card-section>
 
@@ -177,34 +181,36 @@
     header="Data Set"
     [test]="studyDataset && studyDataset.length != 0">
     <ng-template>
-      <faidare-card-table
-        [headers]="[
+      <div class="table-responsive scroll-big-table table-card-body">
+        <faidare-card-table
+          [headers]="[
           'Name',
           'Type',
           'Linked studies identifiers'
         ]"
-        [rows]="studyDataset">
-        <ng-template let-row>
-          <tr>
-            <td>
-              <ng-template #name>{{ row.trialName }}</ng-template>
-              <ng-template #link>
-                <a target="_blank" [href]=row.documentationURL>{{ row.trialName }}</a>
-              </ng-template>
-              <ng-container *ngIf="row.documentationURL; then link else name"></ng-container>
-            </td>
-            <td>{{ row.trialType }}</td>
-            <td width="60%">
-              <ng-container *ngFor="let trialStudy of row.studies">
-                <a
-                  [routerLink]="['/studies', trialStudy.studyDbId]">
-                  {{ trialStudy.studyName.trim() }}
-                </a>;
-              </ng-container>
-            </td>
-          </tr>
-        </ng-template>
-      </faidare-card-table>
+          [rows]="studyDataset">
+          <ng-template let-row>
+            <tr>
+              <td>
+                <ng-template #name>{{ row.trialName }}</ng-template>
+                <ng-template #link>
+                  <a target="_blank" [href]=row.documentationURL>{{ row.trialName }}</a>
+                </ng-template>
+                <ng-container *ngIf="row.documentationURL; then link else name"></ng-container>
+              </td>
+              <td>{{ row.trialType }}</td>
+              <td width="60%">
+                <ng-container *ngFor="let trialStudy of row.studies">
+                  <a
+                    [routerLink]="['/studies', trialStudy.studyDbId]">
+                    {{ trialStudy.studyName.trim() }}
+                  </a>;
+                </ng-container>
+              </td>
+            </tr>
+          </ng-template>
+        </faidare-card-table>
+      </div>
     </ng-template>
   </faidare-card-section>
 
@@ -212,23 +218,25 @@
     header="Contact"
     [test]="study.contacts && study.contacts.length != 0">
     <ng-template>
-      <faidare-card-table
-        [headers]="[
+      <div class="table-responsive scroll-table table-card-body">
+        <faidare-card-table
+          [headers]="[
           'Role',
           'Name',
           'Email',
           'Institution'
         ]"
-        [rows]="study.contacts">
-        <ng-template let-row>
-          <tr>
-            <td>{{ row.type }}</td>
-            <td>{{ row.name }}</td>
-            <td>{{ row.email }}</td>
-            <td>{{ row.institutionName }}</td>
-          </tr>
-        </ng-template>
-      </faidare-card-table>
+          [rows]="study.contacts">
+          <ng-template let-row>
+            <tr>
+              <td>{{ row.type }}</td>
+              <td>{{ row.name }}</td>
+              <td>{{ row.email.replace('@', ' at ') }}</td>
+              <td>{{ row.institutionName }}</td>
+            </tr>
+          </ng-template>
+        </faidare-card-table>
+      </div>
     </ng-template>
   </faidare-card-section>
 
@@ -236,15 +244,17 @@
     header="Additional information"
     [test]="additionalInfos && additionalInfos.length != 0">
     <ng-template>
-      <faidare-card-table
-        [rows]="additionalInfos">
-        <ng-template let-row>
-          <tr>
-            <td width="50%">{{ row.key }}</td>
-            <td>{{ row.value }}</td>
-          </tr>
-        </ng-template>
-      </faidare-card-table>
+      <div class="table-responsive scroll-table table-card-body">
+        <faidare-card-table
+          [rows]="additionalInfos">
+          <ng-template let-row>
+            <tr>
+              <td width="50%">{{ row.key }}</td>
+              <td>{{ row.value }}</td>
+            </tr>
+          </ng-template>
+        </faidare-card-table>
+      </div>
     </ng-template>
   </faidare-card-section>
 
diff --git a/frontend/src/app/xrefs/xrefs.component.html b/frontend/src/app/xrefs/xrefs.component.html
index d4015a23..e893b664 100644
--- a/frontend/src/app/xrefs/xrefs.component.html
+++ b/frontend/src/app/xrefs/xrefs.component.html
@@ -1,22 +1,24 @@
 <faidare-card-section *ngIf="xrefs.length > 0"
                    header="Cross References">
   <ng-template>
-    <faidare-card-table
-      [headers]="[
+    <div class="table-responsive scroll-big-table table-card-body">
+        <faidare-card-table
+          [headers]="[
           'Name',
            'Source',
            'Type',
            'Description'
         ]"
-      [rows]=xrefs>
-      <ng-template let-crossRef>
-        <tr>
-          <td><a [href]="crossRef.url">{{ crossRef.db_version }}</a></td>
-          <td>{{ crossRef.database_name }}</td>
-          <td>{{ crossRef.entry_type }}</td>
-          <td>{{ crossRef.description | slice:0:120 }}...</td>
-        </tr>
-      </ng-template>
-    </faidare-card-table>
+          [rows]=xrefs>
+          <ng-template let-crossRef>
+            <tr>
+              <td><a [href]="crossRef.url" target="_blank">{{ crossRef.db_version }}</a></td>
+              <td>{{ crossRef.database_name }}</td>
+              <td>{{ crossRef.entry_type }}</td>
+              <td>{{ crossRef.description | slice:0:120 }}...</td>
+            </tr>
+          </ng-template>
+        </faidare-card-table>
+    </div>
   </ng-template>
 </faidare-card-section>
diff --git a/frontend/src/environments/environment.ts b/frontend/src/environments/environment.ts
index 8119eb8d..988a9ca2 100644
--- a/frontend/src/environments/environment.ts
+++ b/frontend/src/environments/environment.ts
@@ -19,9 +19,9 @@ export const environment = {
                 ]
             },
             { label: 'GNPIS', url: 'https://urgi.versailles.inra.fr/gnpis/' },
-            { label: 'CIRAD', url: 'http://tropgenedb.cirad.fr/' },
-            { label: 'VIB', url: 'http://pippa.psb.ugent.be' },
-            { label: 'IBET', url: 'https://biodata.pt' }
+            { label: 'CIRAD TropGENE', url: 'http://tropgenedb.cirad.fr/' },
+            { label: 'VIB Pippa', url: 'http://pippa.psb.ugent.be' },
+            { label: 'IBET BioData', url: 'https://biodata.pt' }
 
         ],
         contributor: {
diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss
index 03303a34..704f989f 100644
--- a/frontend/src/styles.scss
+++ b/frontend/src/styles.scss
@@ -22,6 +22,14 @@ h3 {
   border-bottom-right-radius: 0.25rem;
 }
 
+.table-card-body {
+  padding: 0;
+  border: 2px solid rgb(195, 214, 226);
+  border-top-width: 0px;
+  border-bottom-left-radius: 0.25rem;
+  border-bottom-right-radius: 0.25rem;
+}
+
 .row-sep {
   border-top: 1px solid #f0f0f0;
 }
@@ -31,7 +39,7 @@ h3 {
 }
 
 .content-overflow {
-  max-height: 175px;
+  max-height: 200px;
   overflow-y: auto;
 }
 
@@ -39,6 +47,15 @@ h3 {
   max-height: 275px;
   overflow: auto;
 }
+.scroll-table {
+  max-height: 200px;
+  overflow-y: auto;
+}
+
+.scroll-big-table {
+  max-height: 500px;
+  overflow-y: auto;
+}
 
 .display-spinner-front {
   position: absolute;
-- 
GitLab


From 313ad09005580fda3f59fdf0349592bef549b1f8 Mon Sep 17 00:00:00 2001
From: jdestin <jeremy.destin@inra.fr>
Date: Tue, 26 Mar 2019 17:07:34 +0100
Subject: [PATCH 05/14] fix: Use subscribe on queryParams to reload germplasm
 card. Fix a max size for popover. Fix prod environment. Change logo name to
 see if fix image display.  #15

---
 .../repository/file/datasources.jsonld        |   2 +-
 .../faidare/repository/file/logos/VIB_40h.png | Bin 359 -> 0 bytes
 .../germplasm-card.component.html             |   2 +-
 .../germplasm-card.component.spec.ts          |  19 ++---
 .../germplasm-card.component.ts               |  79 ++++++++----------
 .../document/document.component.html          |  10 +--
 frontend/src/app/xrefs/xrefs.component.html   |   6 +-
 frontend/src/app/xrefs/xrefs.component.ts     |   1 -
 frontend/src/environments/environment.prod.ts |   6 +-
 frontend/src/styles.scss                      |   1 +
 10 files changed, 58 insertions(+), 68 deletions(-)
 delete mode 100644 backend/src/main/resources/fr/inra/urgi/faidare/repository/file/logos/VIB_40h.png

diff --git a/backend/src/main/resources/fr/inra/urgi/faidare/repository/file/datasources.jsonld b/backend/src/main/resources/fr/inra/urgi/faidare/repository/file/datasources.jsonld
index 6b319a01..a019c38e 100644
--- a/backend/src/main/resources/fr/inra/urgi/faidare/repository/file/datasources.jsonld
+++ b/backend/src/main/resources/fr/inra/urgi/faidare/repository/file/datasources.jsonld
@@ -17,7 +17,7 @@
       "schema:identifier": "VIB",
       "schema:name": "VIB PIPPA",
       "schema:url": "http://pippa.psb.ugent.be",
-      "schema:image": "./logos/VIB_40h.png"
+      "schema:image": "./logos/VIB.png"
     },
     {
       "@type": "schema:DataCatalog",
diff --git a/backend/src/main/resources/fr/inra/urgi/faidare/repository/file/logos/VIB_40h.png b/backend/src/main/resources/fr/inra/urgi/faidare/repository/file/logos/VIB_40h.png
deleted file mode 100644
index fa3f1568791db864b4a981d200258e5e75c9840b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 359
zcmV-t0hs=YP)<h;3K|Lk000e1NJLTq002q=001Zi0{{R3tHN;;0000RP)t-sM{rDL
zR*guvw>rDIS~87lqpaa`M)Pkr0RaJVxwLlx0004WQchC<K<3zH0002`Nkl<Zcmd7O
zF=_)b6olciAwp%2V7wOy)(H$bKp+=L=QdqhmG9U=`}2auGN{c|Yw__*Sf^KsUAL>;
zPIs|$Ywc#$J2ADfi&ghbnHY-L*7jLN40O9VMXWKah&A@+6tPu{*h&%G7K+&C;{PIc
zwvR^<<H`@Oh`nsQ>YuFq{O!9&*I0yV#Qrfhjvh~nlR7C_S*tE$D5dHLMGVD3JSl$i
zvb7?Hs)5o`5ku|3sA3fpd!QshpH&wtDC%JpF{ikZ7^?0{sd&H?Lq(lceiB2;tBj@U
zUX@f~6|te}LDfL9g5oR{>j+|2i4hx0vzk)u3&kM{q+cQO?KvH@Y@q-E002ovPDHLk
FV1h3wm(u_M

diff --git a/frontend/src/app/germplasm-card/germplasm-card.component.html b/frontend/src/app/germplasm-card/germplasm-card.component.html
index 0e97b317..a5658eca 100644
--- a/frontend/src/app/germplasm-card/germplasm-card.component.html
+++ b/frontend/src/app/germplasm-card/germplasm-card.component.html
@@ -188,7 +188,7 @@
         <div class="card ngb-popover-window ">
           <img class="card-img-top"
                [src]="germplasmGnpis.photo.file"
-               alt="" width="250px">
+               alt="" style="max-width:500px; max-height:550px">
           <div class="card-body">
 
             <faidare-card-row
diff --git a/frontend/src/app/germplasm-card/germplasm-card.component.spec.ts b/frontend/src/app/germplasm-card/germplasm-card.component.spec.ts
index a104f5e3..99d66db6 100644
--- a/frontend/src/app/germplasm-card/germplasm-card.component.spec.ts
+++ b/frontend/src/app/germplasm-card/germplasm-card.component.spec.ts
@@ -1,9 +1,9 @@
 import { async, TestBed } from '@angular/core/testing';
 import { GermplasmCardComponent } from './germplasm-card.component';
-import { ComponentTester, speculoosMatchers } from 'ngx-speculoos';
+import { ComponentTester, fakeRoute, speculoosMatchers } from 'ngx-speculoos';
 import { GnpisService } from '../gnpis.service';
 import { BrapiService } from '../brapi.service';
-import { ActivatedRoute, convertToParamMap } from '@angular/router';
+import { ActivatedRoute } from '@angular/router';
 import { RouterTestingModule } from '@angular/router/testing';
 import { of } from 'rxjs';
 
@@ -205,6 +205,10 @@ describe('GermplasmCardComponent', () => {
         'schema:image': null
     };
 
+    const activatedRoute = fakeRoute({
+        queryParams: of({ id: 'test' })
+    });
+
     beforeEach(async(() => {
         TestBed.configureTestingModule({
             imports: [RouterTestingModule, NgbPopoverModule, MomentModule],
@@ -215,16 +219,7 @@ describe('GermplasmCardComponent', () => {
             providers: [
                 { provide: BrapiService, useValue: brapiService },
                 { provide: GnpisService, useValue: gnpisService },
-                {
-                    provide: ActivatedRoute,
-                    useValue: {
-                        snapshot: {
-                            queryParams: convertToParamMap({
-                                id: 'test'
-                            })
-                        }
-                    }
-                }
+                { provide: ActivatedRoute, useValue: activatedRoute },
             ]
         });
     }));
diff --git a/frontend/src/app/germplasm-card/germplasm-card.component.ts b/frontend/src/app/germplasm-card/germplasm-card.component.ts
index aeb15d32..77f4ecd3 100644
--- a/frontend/src/app/germplasm-card/germplasm-card.component.ts
+++ b/frontend/src/app/germplasm-card/germplasm-card.component.ts
@@ -1,5 +1,5 @@
 import { Component, OnInit } from '@angular/core';
-import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
+import { ActivatedRoute } from '@angular/router';
 import { BrapiService } from '../brapi.service';
 import { GnpisService } from '../gnpis.service';
 import { BrapiAttributeData, BrapiGermplasmPedigree, BrapiLocation, BrapiTaxonIds } from '../models/brapi.model';
@@ -18,15 +18,7 @@ export class GermplasmCardComponent implements OnInit {
 
     constructor(private brapiService: BrapiService,
                 private gnpisService: GnpisService,
-                private route: ActivatedRoute,
-                private router: Router) {
-
-        this.router.events.subscribe((event: any) => {
-            // If it is a NavigationEnd event re-initalise the component
-            if (this.alreadyInitialize && event instanceof NavigationEnd) {
-                this.ngOnInit();
-            }
-        });
+                private route: ActivatedRoute) {
     }
 
     NCBI_URL = 'https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?mode=Info&id=';
@@ -57,42 +49,45 @@ export class GermplasmCardComponent implements OnInit {
     loading = true;
 
     ngOnInit() {
-        this.germplasmId = this.route.snapshot.queryParams.id;
-        this.germplasmPuid = this.route.snapshot.queryParams.pui;
-
-        const germplasm$ = this.getGermplasm(this.germplasmId, this.germplasmPuid);
-        germplasm$.then(result => {
-            const germplasmId = this.germplasmId ? this.germplasmId : result.germplasmDbId;
-
-            // TODO use the progeny call when the information about parent will be added.
-            /*const germplasmProgeny$ = this.brapiService.germplasmProgeny(germplasmId).toPromise();
-            germplasmProgeny$
-                .then(germplasmProgeny => {
-                    this.germplasmProgeny = germplasmProgeny.result;
-                });*/
-
-            const germplasmPedigree$ = this.brapiService.germplasmPedigree(germplasmId).toPromise();
-            germplasmPedigree$
-                .then(germplasmPedigree => {
-                    this.germplasmPedigree = germplasmPedigree.result;
-                });
 
-            const germplasmAttributes$ = this.brapiService.germplasmAttributes(germplasmId).toPromise();
-            germplasmAttributes$
-                .then(germplasmAttributes => {
-                    if (germplasmAttributes.result.data) {
-                        this.germplasmAttributes = germplasmAttributes.result.data.sort(this.compareAttributes);
-                    }
+        this.route.queryParams.subscribe(queryParams => {
 
-                });
-        });
+            this.germplasmId = queryParams.id;
+            this.germplasmPuid = queryParams.pui;
 
-        this.loaded = Promise.all([germplasm$]);
-        this.loaded.then(() => {
-            this.loading = false;
-            this.alreadyInitialize = true;
-        });
+            const germplasm$ = this.getGermplasm(this.germplasmId, this.germplasmPuid);
+            germplasm$.then(result => {
+                const germplasmId = this.germplasmId ? this.germplasmId : result.germplasmDbId;
 
+                // TODO use the progeny call when the information about parent will be added.
+                /*const germplasmProgeny$ = this.brapiService.germplasmProgeny(germplasmId).toPromise();
+                germplasmProgeny$
+                    .then(germplasmProgeny => {
+                        this.germplasmProgeny = germplasmProgeny.result;
+                    });*/
+
+                const germplasmPedigree$ = this.brapiService.germplasmPedigree(germplasmId).toPromise();
+                germplasmPedigree$
+                    .then(germplasmPedigree => {
+                        this.germplasmPedigree = germplasmPedigree.result;
+                    });
+
+                const germplasmAttributes$ = this.brapiService.germplasmAttributes(germplasmId).toPromise();
+                germplasmAttributes$
+                    .then(germplasmAttributes => {
+                        if (germplasmAttributes.result && germplasmAttributes.result.data) {
+                            this.germplasmAttributes = germplasmAttributes.result.data.sort(this.compareAttributes);
+                        }
+
+                    });
+            });
+
+            this.loaded = Promise.all([germplasm$]);
+            this.loaded.then(() => {
+                this.loading = false;
+                this.alreadyInitialize = true;
+            });
+        });
     }
 
     getGermplasm(id: string, pui: string): Promise<Germplasm> {
diff --git a/frontend/src/app/result-page/document/document.component.html b/frontend/src/app/result-page/document/document.component.html
index 9933a612..9d45b021 100644
--- a/frontend/src/app/result-page/document/document.component.html
+++ b/frontend/src/app/result-page/document/document.component.html
@@ -13,12 +13,12 @@
     </a>
     <a class="title" *ngIf="getRouterLink() && !document['@type'].includes('Phenotyping Study')"
        [routerLink]="getRouterLink()" [queryParams]="getQueryParam()">
-      {{ document["schema:name"] }},
+      {{ document["schema:name"] }}
     </a>
-    <small>
-      or link to this
-      <a *ngIf="getURL()" [href]="getURL()" target="_blank">
-        {{ document['@type'] }} on {{ document['schema:includedInDataCatalog']['schema:name'] }}
+    <small *ngIf="getURL()">
+      or link to
+      <a [href]="getURL()" target="_blank">
+        this {{ document['@type'] }} on {{ document['schema:includedInDataCatalog']['schema:name'] }}
       </a>
     </small>
   </h5>
diff --git a/frontend/src/app/xrefs/xrefs.component.html b/frontend/src/app/xrefs/xrefs.component.html
index e893b664..05baed89 100644
--- a/frontend/src/app/xrefs/xrefs.component.html
+++ b/frontend/src/app/xrefs/xrefs.component.html
@@ -5,9 +5,9 @@
         <faidare-card-table
           [headers]="[
           'Name',
-           'Source',
-           'Type',
-           'Description'
+          'Source',
+          'Type',
+          'Description'
         ]"
           [rows]=xrefs>
           <ng-template let-crossRef>
diff --git a/frontend/src/app/xrefs/xrefs.component.ts b/frontend/src/app/xrefs/xrefs.component.ts
index fd97128c..d63a97f3 100644
--- a/frontend/src/app/xrefs/xrefs.component.ts
+++ b/frontend/src/app/xrefs/xrefs.component.ts
@@ -21,6 +21,5 @@ export class XrefsComponent implements OnInit {
                 this.xrefs = xrefs;
             }
         );
-
     }
 }
diff --git a/frontend/src/environments/environment.prod.ts b/frontend/src/environments/environment.prod.ts
index 40182d5c..84e09f13 100644
--- a/frontend/src/environments/environment.prod.ts
+++ b/frontend/src/environments/environment.prod.ts
@@ -16,9 +16,9 @@ export const environment = {
                 ]
             },
             { label: 'GNPIS', url: 'https://urgi.versailles.inra.fr/gnpis/' },
-            { label: 'CIRAD', url: 'http://tropgenedb.cirad.fr/' },
-            { label: 'VIB', url: 'http://pippa.psb.ugent.be' },
-            { label: 'IBET', url: 'https://biodata.pt' }
+            { label: 'CIRAD TropGENE', url: 'http://tropgenedb.cirad.fr/' },
+            { label: 'VIB Pippa', url: 'http://pippa.psb.ugent.be' },
+            { label: 'IBET BioData', url: 'https://biodata.pt' }
 
         ],
         contributor: {
diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss
index 704f989f..71d08582 100644
--- a/frontend/src/styles.scss
+++ b/frontend/src/styles.scss
@@ -66,4 +66,5 @@ h3 {
 
 .popover {
   width: 100%;
+  max-width:500px;
 }
-- 
GitLab


From b97be045e01838101ebc709f15bb05a076e4ec3a Mon Sep 17 00:00:00 2001
From: jdestin <jeremy.destin@inra.fr>
Date: Wed, 24 Apr 2019 17:31:15 +0200
Subject: [PATCH 06/14] refactor: Add footer on result page and fix nav bar to
 the top. Issue #18

---
 frontend/src/app/app.module.ts                |   4 +-
 frontend/src/app/footer/footer.component.html |  19 +++++++++
 frontend/src/app/footer/footer.component.scss |  38 ++++++++++++++++++
 .../src/app/footer/footer.component.spec.ts   |  25 ++++++++++++
 frontend/src/app/footer/footer.component.ts   |  16 ++++++++
 frontend/src/app/navbar/navbar.component.html |   2 +-
 .../result-page/result-page.component.html    |   3 +-
 frontend/src/assets/faidare/theme.scss        |   5 +++
 frontend/src/assets/gpds/elixir-logo.png      | Bin 0 -> 15605 bytes
 9 files changed, 109 insertions(+), 3 deletions(-)
 create mode 100644 frontend/src/app/footer/footer.component.html
 create mode 100644 frontend/src/app/footer/footer.component.scss
 create mode 100644 frontend/src/app/footer/footer.component.spec.ts
 create mode 100644 frontend/src/app/footer/footer.component.ts
 create mode 100644 frontend/src/assets/gpds/elixir-logo.png

diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts
index a6a37d9d..4e09db83 100644
--- a/frontend/src/app/app.module.ts
+++ b/frontend/src/app/app.module.ts
@@ -25,6 +25,7 @@ import { CardTableComponent } from './card-table/card-table.component';
 import { MomentModule } from 'ngx-moment';
 import { XrefsComponent } from './xrefs/xrefs.component';
 import { CoordinatesModule } from 'angular-coordinates';
+import { FooterComponent } from './footer/footer.component';
 
 
 @NgModule({
@@ -46,7 +47,8 @@ import { CoordinatesModule } from 'angular-coordinates';
         CardSectionComponent,
         LoadingSpinnerComponent,
         CardTableComponent,
-        XrefsComponent
+        XrefsComponent,
+        FooterComponent
     ],
     imports: [
         BrowserModule,
diff --git a/frontend/src/app/footer/footer.component.html b/frontend/src/app/footer/footer.component.html
new file mode 100644
index 00000000..983ea8a6
--- /dev/null
+++ b/frontend/src/app/footer/footer.component.html
@@ -0,0 +1,19 @@
+<div class="row footer mt-4" xmlns="http://www.w3.org/1999/html">
+  <div class="col-3 outer-div">
+    <div class=" circleDiv centered">
+      <a href="https://elixir-europe.org/platforms/interoperability" target="_blank">
+        <img src="assets/elixir-logo.png" alt="Logo Elixir" height="45px" class="ml-2"/>
+      </a>
+    </div>
+  </div>
+  <div class="col-9">
+    <div class="mt-1">
+      <a href="https://elixir-europe.org/platforms/interoperability" target="_blank">
+        <span class="font-weight-bold text-secondary" style="font-size: small">FAIR Data finder for Agro Research is part of the ELIXIR infrastructure</span><br>
+        <span class="text-muted" style="font-size: x-small">Faidare is part of the ELIXIR infrastructure</span>
+      </a>
+    </div>
+  </div>
+</div>
+
+
diff --git a/frontend/src/app/footer/footer.component.scss b/frontend/src/app/footer/footer.component.scss
new file mode 100644
index 00000000..8e021578
--- /dev/null
+++ b/frontend/src/app/footer/footer.component.scss
@@ -0,0 +1,38 @@
+@import "theme";
+
+.footer {
+  background-color: $theme-footer-bg-color;
+  height: 55px;
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  z-index: 1100;
+}
+
+
+a {
+  color: black;
+  text-decoration: none;
+}
+
+span {
+  font-size: large;
+}
+
+
+.circleDiv {
+  border-radius: 50%;
+  width: 70px;
+  height: 50px;
+  background-image: radial-gradient(#767c82, #8e959b, #c0c7cd);
+}
+
+.centered {
+  margin: 0 auto;
+}
+
+.outer-div {
+  padding: 3px;
+}
+
diff --git a/frontend/src/app/footer/footer.component.spec.ts b/frontend/src/app/footer/footer.component.spec.ts
new file mode 100644
index 00000000..896320aa
--- /dev/null
+++ b/frontend/src/app/footer/footer.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { FooterComponent } from './footer.component';
+
+describe('FooterComponent', () => {
+    let component: FooterComponent;
+    let fixture: ComponentFixture<FooterComponent>;
+
+    beforeEach(async(() => {
+        TestBed.configureTestingModule({
+            declarations: [FooterComponent]
+        })
+            .compileComponents();
+    }));
+
+    beforeEach(() => {
+        fixture = TestBed.createComponent(FooterComponent);
+        component = fixture.componentInstance;
+        fixture.detectChanges();
+    });
+
+    it('should create', () => {
+        expect(component).toBeTruthy();
+    });
+});
diff --git a/frontend/src/app/footer/footer.component.ts b/frontend/src/app/footer/footer.component.ts
new file mode 100644
index 00000000..bac0dea5
--- /dev/null
+++ b/frontend/src/app/footer/footer.component.ts
@@ -0,0 +1,16 @@
+import { Component, OnInit } from '@angular/core';
+
+@Component({
+    selector: 'gpds-footer',
+    templateUrl: './footer.component.html',
+    styleUrls: ['./footer.component.scss']
+})
+export class FooterComponent implements OnInit {
+
+    constructor() {
+    }
+
+    ngOnInit() {
+    }
+
+}
diff --git a/frontend/src/app/navbar/navbar.component.html b/frontend/src/app/navbar/navbar.component.html
index 33094e1e..7e20b754 100644
--- a/frontend/src/app/navbar/navbar.component.html
+++ b/frontend/src/app/navbar/navbar.component.html
@@ -1,4 +1,4 @@
-<nav class="navbar navbar-expand-md navbar-dark py-0 mb-4">
+<nav class="navbar fixed-top navbar-expand-md navbar-dark py-0 mb-4">
   <div class="container px-0">
     <a class="navbar-brand d-flex align-items-center mr-0 px-2" routerLink="/">
       <img src="{{ navbar.logo }}" alt="{{ navbar.name }} logo" title="{{ navbar.title }}" height="60px"/>
diff --git a/frontend/src/app/result-page/result-page.component.html b/frontend/src/app/result-page/result-page.component.html
index c6157b7d..366178d9 100644
--- a/frontend/src/app/result-page/result-page.component.html
+++ b/frontend/src/app/result-page/result-page.component.html
@@ -82,7 +82,7 @@
 
       <!-- Pagination -->
       <!--Bottom page navigator-->
-      <div class="d-flex justify-content-center mt-5" *ngIf="pagination.totalPages > 1">
+      <div class="d-flex justify-content-center mt-5 mb-5" *ngIf="pagination.totalPages > 1">
         <!-- we add 1 to the page because ngb-pagination is 1 based -->
         <ngb-pagination [page]="pagination.currentPage + 1"
                         (pageChange)="changePage($event)"
@@ -105,3 +105,4 @@
     </div>
   </div>
 </div>
+<gpds-footer></gpds-footer>
diff --git a/frontend/src/assets/faidare/theme.scss b/frontend/src/assets/faidare/theme.scss
index b4fae40f..b92fb692 100644
--- a/frontend/src/assets/faidare/theme.scss
+++ b/frontend/src/assets/faidare/theme.scss
@@ -77,3 +77,8 @@ $theme-navbar-bg-color: $_theme-light-gray;
 $theme-navbar-hover-color: $white;
 $theme-navbar-hover-bg-color: $_theme-gray;
 
+// custom footer
+$theme-footer-height: 3rem;
+$theme-footer-color: $black;
+$theme-footer-bg-color: $_theme-light-gray;
+
diff --git a/frontend/src/assets/gpds/elixir-logo.png b/frontend/src/assets/gpds/elixir-logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..4ab5f84477a00a439d7875691e4eab12e181ddfb
GIT binary patch
literal 15605
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
NO7iNcN?Egz{{wm@2k`&^

literal 0
HcmV?d00001

-- 
GitLab


From b804abc5353fad9e0db2588ba001b8afe45b3825 Mon Sep 17 00:00:00 2001
From: jdestin <jeremy.destin@inra.fr>
Date: Thu, 25 Apr 2019 15:54:32 +0200
Subject: [PATCH 07/14] refactor: Add go back to form button.

---
 frontend/src/app/footer/footer.component.html            | 2 +-
 frontend/src/app/footer/footer.component.scss            | 2 +-
 .../src/app/germplasm-card/germplasm-card.component.html | 6 ++++++
 frontend/src/app/navbar/navbar.component.scss            | 3 ++-
 frontend/src/app/result-page/result-page.component.html  | 2 +-
 frontend/src/app/site-card/site-card.component.html      | 8 +++++++-
 frontend/src/app/study-card/study-card.component.html    | 8 +++++++-
 frontend/src/assets/faidare/theme.scss                   | 9 +++++++++
 frontend/src/styles.scss                                 | 4 ++++
 9 files changed, 38 insertions(+), 6 deletions(-)

diff --git a/frontend/src/app/footer/footer.component.html b/frontend/src/app/footer/footer.component.html
index 983ea8a6..107b352c 100644
--- a/frontend/src/app/footer/footer.component.html
+++ b/frontend/src/app/footer/footer.component.html
@@ -1,5 +1,5 @@
 <div class="row footer mt-4" xmlns="http://www.w3.org/1999/html">
-  <div class="col-3 outer-div">
+  <div class="col-3 outer-div mt-1">
     <div class=" circleDiv centered">
       <a href="https://elixir-europe.org/platforms/interoperability" target="_blank">
         <img src="assets/elixir-logo.png" alt="Logo Elixir" height="45px" class="ml-2"/>
diff --git a/frontend/src/app/footer/footer.component.scss b/frontend/src/app/footer/footer.component.scss
index 8e021578..79e9e64d 100644
--- a/frontend/src/app/footer/footer.component.scss
+++ b/frontend/src/app/footer/footer.component.scss
@@ -2,7 +2,7 @@
 
 .footer {
   background-color: $theme-footer-bg-color;
-  height: 55px;
+  height: 60px;
   position: fixed;
   bottom: 0;
   left: 0;
diff --git a/frontend/src/app/germplasm-card/germplasm-card.component.html b/frontend/src/app/germplasm-card/germplasm-card.component.html
index a5658eca..3712b3ac 100644
--- a/frontend/src/app/germplasm-card/germplasm-card.component.html
+++ b/frontend/src/app/germplasm-card/germplasm-card.component.html
@@ -1,5 +1,11 @@
 <faidare-loading-spinner [loading]="loading" class="float-right"></faidare-loading-spinner>
 
+<div class="text-right back-form-button">
+  <button type="button" class="btn btn-secondary mt-1" routerLink="/">
+    <span> < Back to form </span>
+  </button>
+</div>
+
 <ng-container *ngIf="germplasmGnpis">
   <h3 class="mb-4">
     <img *ngIf="!loading && germplasmGnpis.holdingGenbank && germplasmGnpis.holdingGenbank.instituteName"
diff --git a/frontend/src/app/navbar/navbar.component.scss b/frontend/src/app/navbar/navbar.component.scss
index 75a2c2d3..499ee112 100644
--- a/frontend/src/app/navbar/navbar.component.scss
+++ b/frontend/src/app/navbar/navbar.component.scss
@@ -1,7 +1,8 @@
 @import "theme";
 
 .navbar {
-  background-color: $theme-navbar-bg-color;
+  /*background-color: $theme-navbar-bg-color;*/
+  background-image: linear-gradient($theme-navbar-bg-color, $theme-navbar-bg-color, #c9ced9);
 }
 
 .navbar-toggler {
diff --git a/frontend/src/app/result-page/result-page.component.html b/frontend/src/app/result-page/result-page.component.html
index 366178d9..b06da980 100644
--- a/frontend/src/app/result-page/result-page.component.html
+++ b/frontend/src/app/result-page/result-page.component.html
@@ -82,7 +82,7 @@
 
       <!-- Pagination -->
       <!--Bottom page navigator-->
-      <div class="d-flex justify-content-center mt-5 mb-5" *ngIf="pagination.totalPages > 1">
+      <div class="d-flex justify-content-center mt-4 mb-5" *ngIf="pagination.totalPages > 1">
         <!-- we add 1 to the page because ngb-pagination is 1 based -->
         <ngb-pagination [page]="pagination.currentPage + 1"
                         (pageChange)="changePage($event)"
diff --git a/frontend/src/app/site-card/site-card.component.html b/frontend/src/app/site-card/site-card.component.html
index 4b4fec56..628e57e4 100644
--- a/frontend/src/app/site-card/site-card.component.html
+++ b/frontend/src/app/site-card/site-card.component.html
@@ -1,7 +1,13 @@
 <faidare-loading-spinner [loading]="loading" class="float-right"></faidare-loading-spinner>
 
+<div class="text-right back-form-button">
+  <button type="button" class="btn btn-secondary mt-1" routerLink="/">
+    <span> < Back to form </span>
+  </button>
+</div>
+
 <ng-container *ngIf="location">
-  <h3>
+  <h3 class="mb-4">
     Site: {{ location.locationName }}
 
 
diff --git a/frontend/src/app/study-card/study-card.component.html b/frontend/src/app/study-card/study-card.component.html
index 89508f4c..a82e54bb 100644
--- a/frontend/src/app/study-card/study-card.component.html
+++ b/frontend/src/app/study-card/study-card.component.html
@@ -1,7 +1,13 @@
 <faidare-loading-spinner [loading]="loading" class="float-right"></faidare-loading-spinner>
 
+<div class="text-right back-form-button">
+  <button type="button" class="btn btn-secondary mt-1" routerLink="/">
+    <span> < Back to form </span>
+  </button>
+</div>
+
 <ng-container *ngIf="study">
-  <h3>
+  <h3 class="mb-4">
     Study {{ study.studyType }}: {{ study.studyName }}
   </h3>
 
diff --git a/frontend/src/assets/faidare/theme.scss b/frontend/src/assets/faidare/theme.scss
index b92fb692..c2f6f868 100644
--- a/frontend/src/assets/faidare/theme.scss
+++ b/frontend/src/assets/faidare/theme.scss
@@ -53,6 +53,15 @@ $enable-shadows: true;
   -ms-overflow-style: -ms-autohiding-scrollbar;
 }
 
+.back-form-button {
+  top: 0;
+  right: 0;
+  position: fixed;
+  z-index: 1100;
+  margin-top: 8px;
+  margin-right: 100px;
+}
+
 h4 {
   color: #0f6191;
 }
diff --git a/frontend/src/styles.scss b/frontend/src/styles.scss
index 71d08582..365647f6 100644
--- a/frontend/src/styles.scss
+++ b/frontend/src/styles.scss
@@ -68,3 +68,7 @@ h3 {
   width: 100%;
   max-width:500px;
 }
+
+.mt-custom{
+  margin-top: 75px;
+}
-- 
GitLab


From b6d76d83f6740afa581e02366e52e7a2fd751a2f Mon Sep 17 00:00:00 2001
From: jdestin <jeremy.destin@inra.fr>
Date: Thu, 2 May 2019 14:57:08 +0200
Subject: [PATCH 08/14] fix: Center the map zoom around markers. Issue#14

---
 frontend/src/app/footer/footer.component.html |  2 +-
 frontend/src/app/map/map.component.ts         | 26 ++++++++++++++-----
 2 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/frontend/src/app/footer/footer.component.html b/frontend/src/app/footer/footer.component.html
index 107b352c..dde80ef4 100644
--- a/frontend/src/app/footer/footer.component.html
+++ b/frontend/src/app/footer/footer.component.html
@@ -1,4 +1,4 @@
-<div class="row footer mt-4" xmlns="http://www.w3.org/1999/html">
+<div class="row footer mt-4">
   <div class="col-3 outer-div mt-1">
     <div class=" circleDiv centered">
       <a href="https://elixir-europe.org/platforms/interoperability" target="_blank">
diff --git a/frontend/src/app/map/map.component.ts b/frontend/src/app/map/map.component.ts
index 979f5415..51cd91d5 100644
--- a/frontend/src/app/map/map.component.ts
+++ b/frontend/src/app/map/map.component.ts
@@ -35,24 +35,38 @@ export class MapComponent implements OnInit {
 
             // add markers for all locations using markercluster plugin
             const markers = new MarkerClusterGroup();
+            const mapMarkers = [];
             for (const location of this.curatedLocationList) {
                 const icon = L.icon({
                     iconUrl: this.getMarkerIconUrl(location),
-                    iconAnchor:   [12, 41], // point of the icon which will correspond to marker's location
+                    iconAnchor: [12, 41], // point of the icon which will correspond to marker's location
                 });
                 const popupText = `
                   <b>${location.locationName}</b><br/>
                   ${location.locationType}<br/>
                   <a href="sites/${location.locationDbId}">Details</a>
                 `;
+                const marker = L.marker(
+                    [location.latitude, location.longitude],
+                    { icon: icon }
+                );
                 markers.addLayer(
-                    L.marker(
-                        [location.latitude, location.longitude],
-                        { icon: icon }
-                    ).bindPopup(popupText)
+                    marker.bindPopup(popupText)
                 );
+                mapMarkers.push(marker);
+            }
+            const initialZoom = map.getZoom();
+
+
+            map.fitBounds(L.featureGroup(mapMarkers).getBounds());
+            const markerZoom = map.getZoom();
+
+            setTimeout(() => {
+                map.setZoom(Math.min(initialZoom, markerZoom));
+                map.addLayer(markers);
             }
-            map.addLayer(markers);
+                , 100);
+
         } else {
             L.DomUtil.get('map').remove();
         }
-- 
GitLab


From 009f082592c5333da25164d78fed7d29a2934b68 Mon Sep 17 00:00:00 2001
From: jdestin <jeremy.destin@inra.fr>
Date: Tue, 7 May 2019 11:20:13 +0200
Subject: [PATCH 09/14] fix: Change message footer. #Issue18

---
 .idea/modules/backend/gpds.backend.test.iml   | 2 +-
 frontend/src/app/footer/footer.component.html | 3 +--
 frontend/src/app/navbar/navbar.component.scss | 2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/.idea/modules/backend/gpds.backend.test.iml b/.idea/modules/backend/gpds.backend.test.iml
index 5f1aabfe..fa6eb121 100644
--- a/.idea/modules/backend/gpds.backend.test.iml
+++ b/.idea/modules/backend/gpds.backend.test.iml
@@ -133,8 +133,8 @@
     <orderEntry type="library" name="Gradle: org.junit.platform:junit-platform-commons:1.3.2" level="project" />
     <orderEntry type="library" name="Gradle: org.apiguardian:apiguardian-api:1.0.0" level="project" />
     <orderEntry type="library" name="Gradle: org.opentest4j:opentest4j:1.1.1" level="project" />
-    <orderEntry type="library" name="Gradle: javax.annotation:javax.annotation-api:1.3.2" level="project" />
     <orderEntry type="library" scope="RUNTIME" name="Gradle: org.junit.platform:junit-platform-engine:1.3.2" level="project" />
+    <orderEntry type="library" name="Gradle: javax.annotation:javax.annotation-api:1.3.2" level="project" />
     <orderEntry type="library" name="Gradle: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.14" level="project" />
     <orderEntry type="library" name="Gradle: org.apache.tomcat.embed:tomcat-embed-core:9.0.14" level="project" />
     <orderEntry type="library" name="Gradle: org.apache.tomcat.embed:tomcat-embed-el:9.0.14" level="project" />
diff --git a/frontend/src/app/footer/footer.component.html b/frontend/src/app/footer/footer.component.html
index dde80ef4..98d077a7 100644
--- a/frontend/src/app/footer/footer.component.html
+++ b/frontend/src/app/footer/footer.component.html
@@ -9,11 +9,10 @@
   <div class="col-9">
     <div class="mt-1">
       <a href="https://elixir-europe.org/platforms/interoperability" target="_blank">
-        <span class="font-weight-bold text-secondary" style="font-size: small">FAIR Data finder for Agro Research is part of the ELIXIR infrastructure</span><br>
+        <span class="font-weight-bold text-secondary" style="font-size: small">FAIr Data-finder for Agronomic REsearch is part of the ELIXIR infrastructure</span><br>
         <span class="text-muted" style="font-size: x-small">Faidare is part of the ELIXIR infrastructure</span>
       </a>
     </div>
   </div>
 </div>
 
-
diff --git a/frontend/src/app/navbar/navbar.component.scss b/frontend/src/app/navbar/navbar.component.scss
index 499ee112..f631e2b9 100644
--- a/frontend/src/app/navbar/navbar.component.scss
+++ b/frontend/src/app/navbar/navbar.component.scss
@@ -2,7 +2,7 @@
 
 .navbar {
   /*background-color: $theme-navbar-bg-color;*/
-  background-image: linear-gradient($theme-navbar-bg-color, $theme-navbar-bg-color, #c9ced9);
+  background-image: linear-gradient($theme-navbar-bg-color, $theme-navbar-bg-color, #D3D3D3);
 }
 
 .navbar-toggler {
-- 
GitLab


From b27886bd5ba13e388b1f8ea5c7a71bf106d43b61 Mon Sep 17 00:00:00 2001
From: jdestin <jeremy.destin@inra.fr>
Date: Thu, 6 Jun 2019 14:21:45 +0200
Subject: [PATCH 10/14] rebase: Rebase master into code_review. Issue #15

---
 .../repository/file/datasources.jsonld        |   2 +-
 .../faidare/repository/file/logos/VIB_40h.png | Bin 0 -> 359 bytes
 frontend/src/app/app.component.html           |   2 +-
 frontend/src/app/app.module.ts                |   2 -
 frontend/src/app/footer/footer.component.html |  18 ---
 frontend/src/app/footer/footer.component.scss |  38 ------
 .../src/app/footer/footer.component.spec.ts   |  25 ----
 frontend/src/app/footer/footer.component.ts   |  16 ---
 .../germplasm-card.component.html             | 114 +++++++++---------
 .../germplasm-card.component.ts               |   5 -
 .../src/app/navbar/navbar.component.spec.ts   |   2 +-
 .../result-page/result-page.component.html    |   1 -
 .../app/site-card/site-card.component.html    |   4 +-
 .../faidare/{logo.png => applicationLogo.png} | Bin
 frontend/src/assets/gpds/elixir-logo.png      | Bin 15605 -> 0 bytes
 frontend/src/environments/environment.prod.ts |   2 +-
 frontend/src/environments/environment.ts      |   2 +-
 17 files changed, 64 insertions(+), 169 deletions(-)
 create mode 100644 backend/src/main/resources/fr/inra/urgi/faidare/repository/file/logos/VIB_40h.png
 delete mode 100644 frontend/src/app/footer/footer.component.html
 delete mode 100644 frontend/src/app/footer/footer.component.scss
 delete mode 100644 frontend/src/app/footer/footer.component.spec.ts
 delete mode 100644 frontend/src/app/footer/footer.component.ts
 rename frontend/src/assets/faidare/{logo.png => applicationLogo.png} (100%)
 delete mode 100644 frontend/src/assets/gpds/elixir-logo.png

diff --git a/backend/src/main/resources/fr/inra/urgi/faidare/repository/file/datasources.jsonld b/backend/src/main/resources/fr/inra/urgi/faidare/repository/file/datasources.jsonld
index a019c38e..6b319a01 100644
--- a/backend/src/main/resources/fr/inra/urgi/faidare/repository/file/datasources.jsonld
+++ b/backend/src/main/resources/fr/inra/urgi/faidare/repository/file/datasources.jsonld
@@ -17,7 +17,7 @@
       "schema:identifier": "VIB",
       "schema:name": "VIB PIPPA",
       "schema:url": "http://pippa.psb.ugent.be",
-      "schema:image": "./logos/VIB.png"
+      "schema:image": "./logos/VIB_40h.png"
     },
     {
       "@type": "schema:DataCatalog",
diff --git a/backend/src/main/resources/fr/inra/urgi/faidare/repository/file/logos/VIB_40h.png b/backend/src/main/resources/fr/inra/urgi/faidare/repository/file/logos/VIB_40h.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa3f1568791db864b4a981d200258e5e75c9840b
GIT binary patch
literal 359
zcmV-t0hs=YP)<h;3K|Lk000e1NJLTq002q=001Zi0{{R3tHN;;0000RP)t-sM{rDL
zR*guvw>rDIS~87lqpaa`M)Pkr0RaJVxwLlx0004WQchC<K<3zH0002`Nkl<Zcmd7O
zF=_)b6olciAwp%2V7wOy)(H$bKp+=L=QdqhmG9U=`}2auGN{c|Yw__*Sf^KsUAL>;
zPIs|$Ywc#$J2ADfi&ghbnHY-L*7jLN40O9VMXWKah&A@+6tPu{*h&%G7K+&C;{PIc
zwvR^<<H`@Oh`nsQ>YuFq{O!9&*I0yV#Qrfhjvh~nlR7C_S*tE$D5dHLMGVD3JSl$i
zvb7?Hs)5o`5ku|3sA3fpd!QshpH&wtDC%JpF{ikZ7^?0{sd&H?Lq(lceiB2;tBj@U
zUX@f~6|te}LDfL9g5oR{>j+|2i4hx0vzk)u3&kM{q+cQO?KvH@Y@q-E002ovPDHLk
FV1h3wm(u_M

literal 0
HcmV?d00001

diff --git a/frontend/src/app/app.component.html b/frontend/src/app/app.component.html
index c790a3b8..19054abf 100644
--- a/frontend/src/app/app.component.html
+++ b/frontend/src/app/app.component.html
@@ -1,5 +1,5 @@
 <faidare-navbar></faidare-navbar>
-<div class="container">
+<div class="container" style="margin-top: 100px">
   <faidare-error></faidare-error>
   <router-outlet></router-outlet>
 </div>
diff --git a/frontend/src/app/app.module.ts b/frontend/src/app/app.module.ts
index 4e09db83..e5b359ee 100644
--- a/frontend/src/app/app.module.ts
+++ b/frontend/src/app/app.module.ts
@@ -25,7 +25,6 @@ import { CardTableComponent } from './card-table/card-table.component';
 import { MomentModule } from 'ngx-moment';
 import { XrefsComponent } from './xrefs/xrefs.component';
 import { CoordinatesModule } from 'angular-coordinates';
-import { FooterComponent } from './footer/footer.component';
 
 
 @NgModule({
@@ -48,7 +47,6 @@ import { FooterComponent } from './footer/footer.component';
         LoadingSpinnerComponent,
         CardTableComponent,
         XrefsComponent,
-        FooterComponent
     ],
     imports: [
         BrowserModule,
diff --git a/frontend/src/app/footer/footer.component.html b/frontend/src/app/footer/footer.component.html
deleted file mode 100644
index 98d077a7..00000000
--- a/frontend/src/app/footer/footer.component.html
+++ /dev/null
@@ -1,18 +0,0 @@
-<div class="row footer mt-4">
-  <div class="col-3 outer-div mt-1">
-    <div class=" circleDiv centered">
-      <a href="https://elixir-europe.org/platforms/interoperability" target="_blank">
-        <img src="assets/elixir-logo.png" alt="Logo Elixir" height="45px" class="ml-2"/>
-      </a>
-    </div>
-  </div>
-  <div class="col-9">
-    <div class="mt-1">
-      <a href="https://elixir-europe.org/platforms/interoperability" target="_blank">
-        <span class="font-weight-bold text-secondary" style="font-size: small">FAIr Data-finder for Agronomic REsearch is part of the ELIXIR infrastructure</span><br>
-        <span class="text-muted" style="font-size: x-small">Faidare is part of the ELIXIR infrastructure</span>
-      </a>
-    </div>
-  </div>
-</div>
-
diff --git a/frontend/src/app/footer/footer.component.scss b/frontend/src/app/footer/footer.component.scss
deleted file mode 100644
index 79e9e64d..00000000
--- a/frontend/src/app/footer/footer.component.scss
+++ /dev/null
@@ -1,38 +0,0 @@
-@import "theme";
-
-.footer {
-  background-color: $theme-footer-bg-color;
-  height: 60px;
-  position: fixed;
-  bottom: 0;
-  left: 0;
-  right: 0;
-  z-index: 1100;
-}
-
-
-a {
-  color: black;
-  text-decoration: none;
-}
-
-span {
-  font-size: large;
-}
-
-
-.circleDiv {
-  border-radius: 50%;
-  width: 70px;
-  height: 50px;
-  background-image: radial-gradient(#767c82, #8e959b, #c0c7cd);
-}
-
-.centered {
-  margin: 0 auto;
-}
-
-.outer-div {
-  padding: 3px;
-}
-
diff --git a/frontend/src/app/footer/footer.component.spec.ts b/frontend/src/app/footer/footer.component.spec.ts
deleted file mode 100644
index 896320aa..00000000
--- a/frontend/src/app/footer/footer.component.spec.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { async, ComponentFixture, TestBed } from '@angular/core/testing';
-
-import { FooterComponent } from './footer.component';
-
-describe('FooterComponent', () => {
-    let component: FooterComponent;
-    let fixture: ComponentFixture<FooterComponent>;
-
-    beforeEach(async(() => {
-        TestBed.configureTestingModule({
-            declarations: [FooterComponent]
-        })
-            .compileComponents();
-    }));
-
-    beforeEach(() => {
-        fixture = TestBed.createComponent(FooterComponent);
-        component = fixture.componentInstance;
-        fixture.detectChanges();
-    });
-
-    it('should create', () => {
-        expect(component).toBeTruthy();
-    });
-});
diff --git a/frontend/src/app/footer/footer.component.ts b/frontend/src/app/footer/footer.component.ts
deleted file mode 100644
index bac0dea5..00000000
--- a/frontend/src/app/footer/footer.component.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-
-@Component({
-    selector: 'gpds-footer',
-    templateUrl: './footer.component.html',
-    styleUrls: ['./footer.component.scss']
-})
-export class FooterComponent implements OnInit {
-
-    constructor() {
-    }
-
-    ngOnInit() {
-    }
-
-}
diff --git a/frontend/src/app/germplasm-card/germplasm-card.component.html b/frontend/src/app/germplasm-card/germplasm-card.component.html
index 3712b3ac..9e94c9f0 100644
--- a/frontend/src/app/germplasm-card/germplasm-card.component.html
+++ b/frontend/src/app/germplasm-card/germplasm-card.component.html
@@ -113,7 +113,8 @@
       </faidare-card-row>
     </ng-template>
 
-    <ng-template #instituteTemplate let-logo="logo" let-code="instituteCode" let-acronym="acronym" let-organisation="organisation" let-type="instituteType" let-webSite="webSite" let-address="address">
+    <ng-template #instituteTemplate let-logo="logo" let-code="instituteCode" let-acronym="acronym"
+                 let-organisation="organisation" let-type="instituteType" let-webSite="webSite" let-address="address">
       <faidare-card-row
         label=""
         [test]="logo">
@@ -175,8 +176,6 @@
     </ng-template>
 
     <!--Section for the image representing the germplasm and the details about this image-->
-    <div class="col-auto field" *ngIf="germplasmGnpis.photo && germplasmGnpis.photo.thumbnailFileName">
-      <a class="btn popovers" data-boundary="window" placement="auto" [ngbPopover]="imageTemplate"
     <div class="col-auto field" *ngIf="germplasmGnpis.photo && germplasmGnpis.photo.thumbnailFile">
       <a class="btn popovers" data-boundary="window" placement="auto"
          [autoClose]="'outside'"
@@ -185,6 +184,7 @@
         <img
           [src]="germplasmGnpis.photo.thumbnailFile"
           class="img-fluid">
+
         <figcaption class="figure-caption" style="color: #0f6fa1;">
           © {{ germplasmGnpis.photo.copyright }}
         </figcaption>
@@ -330,7 +330,7 @@
   </div>
 
   <!--Section for the information about the holding of the germplasm-->
-  <gpds-card-section
+  <faidare-card-section
     header="Depositary"
     [test]="germplasmGnpis.holdingInstitute">
     <ng-template>
@@ -499,39 +499,38 @@
     [test]="germplasmGnpis.donors && germplasmGnpis.donors.length > 0">
     <ng-template>
       <div class="table-responsive scroll-table table-card-body">
-      <faidare-card-table
-        [headers]="[
+        <faidare-card-table
+          [headers]="[
                 'Institute name',
                 'Institute code',
                 'Donation date',
                 'Accession number',
                 'Accession PUI'
                 ]"
-        [rows]="germplasmGnpis.donors">
-        <ng-template let-row>
-          <tr>
-            <ng-template #donorInstituteTemplate>
-              <ng-container *ngTemplateOutlet="instituteTemplate;context:row.donorInstitute">
-              </ng-container>
-            </ng-template>
+          [rows]="germplasmGnpis.donors">
+          <ng-template let-row>
+            <tr>
+              <ng-template #donorInstituteTemplate>
+                <ng-container *ngTemplateOutlet="instituteTemplate;context:row.donorInstitute">
+                </ng-container>
+              </ng-template>
 
-            <td>
-              <a class="popovers" placement="auto"
-                 [autoClose]="'outside'"
-                 [ngbPopover]="donorInstituteTemplate"
-                 [popoverTitle]="row.donorInstitute.instituteName">
-                {{ row.donorInstitute.instituteName }}
-              </a>
-            </td>
-            <td>{{ row.donorInstituteCode }}</td>
-            <td>{{ row.donationDate }}</td>
-            <td>{{ row.donorAccessionNumber }}</td>
-            <td>{{ row.donorGermplasmPUI }}</td>
-          </tr>
-        </ng-template>
-      </faidare-card-table>
+              <td>
+                <a class="popovers" placement="auto"
+                   [autoClose]="'outside'"
+                   [ngbPopover]="donorInstituteTemplate"
+                   [popoverTitle]="row.donorInstitute.instituteName">
+                  {{ row.donorInstitute.instituteName }}
+                </a>
+              </td>
+              <td>{{ row.donorInstituteCode }}</td>
+              <td>{{ row.donationDate }}</td>
+              <td>{{ row.donorAccessionNumber }}</td>
+              <td>{{ row.donorGermplasmPUI }}</td>
+            </tr>
+          </ng-template>
+        </faidare-card-table>
 
-      </faidare-card-table>
       </div>
     </ng-template>
   </faidare-card-section>
@@ -543,35 +542,35 @@
     <ng-template>
       <div class="table-responsive scroll-table table-card-body">
 
-      <!--TODO : Add order column when ordering URL will be available-->
-      <faidare-card-table
-        [headers]="[
+        <!--TODO : Add order column when ordering URL will be available-->
+        <faidare-card-table
+          [headers]="[
         'Institute',
         'Accession number',
         'Distribution status'
         ]"
-        [rows]="germplasmGnpis.distributors">
-        <ng-template let-row>
-          <tr>
-            <ng-template #distributorInstituteTemplate>
-              <ng-container *ngTemplateOutlet="instituteTemplate;context:row.institute">
-              </ng-container>
-            </ng-template>
+          [rows]="germplasmGnpis.distributors">
+          <ng-template let-row>
+            <tr>
+              <ng-template #distributorInstituteTemplate>
+                <ng-container *ngTemplateOutlet="instituteTemplate;context:row.institute">
+                </ng-container>
+              </ng-template>
 
-            <td>
-              <a class="popovers" placement="auto"
-                 [autoClose]="'outside'"
-                 [ngbPopover]="instituteTemplate"
-                 [popoverTitle]="row.institute.instituteName">
-                {{ row.institute.instituteName }}
-              </a>
-            </td>
-            <td>{{ row.accessionNumber }}</td>
-            <td>{{ row.distributionStatus }}</td>
-          </tr>
-        </ng-template>
+              <td>
+                <a class="popovers" placement="auto"
+                   [autoClose]="'outside'"
+                   [ngbPopover]="instituteTemplate"
+                   [popoverTitle]="row.institute.instituteName">
+                  {{ row.institute.instituteName }}
+                </a>
+              </td>
+              <td>{{ row.accessionNumber }}</td>
+              <td>{{ row.distributionStatus }}</td>
+            </tr>
+          </ng-template>
 
-      </faidare-card-table>
+        </faidare-card-table>
       </div>
     </ng-template>
   </faidare-card-section>
@@ -680,8 +679,8 @@
           <ng-container *ngFor="let child of germplasmProgeny">
 
             <faidare-card-row class="text"
-                           [label]="child.secondParentName ? 'child(ren) of ' + child.firstParentName + ' x ' + child.secondParentName : 'child(ren) of ' + child.firstParentName"
-                           [test]="checkProgeny()">
+                              [label]="child.secondParentName ? 'child(ren) of ' + child.firstParentName + ' x ' + child.secondParentName : 'child(ren) of ' + child.firstParentName"
+                              [test]="checkProgeny()">
               <ng-template>
 
                 <ng-container *ngFor="let sibling of child.sibblings">
@@ -704,7 +703,7 @@
     header="Population"
     [test]="germplasmGnpis.population && germplasmGnpis.population.length > 0">
     <ng-template>
-       <div class="card-body card-section-body card-section-body">
+      <div class="card-body card-section-body card-section-body">
         <ng-container *ngFor="let population of germplasmGnpis.population">
 
           <faidare-card-row
@@ -778,8 +777,9 @@
     <ng-template>
       <div class="card-body card-section-body">
         <ng-container *ngFor="let panel of germplasmGnpis.panel">
-          <gpds-card-row
-            [label]="panel.type ? panel.name.replace(toReplace, ' ') + ' (' + panel.type + ')' : panel.name.replace(toReplace,' ')">
+          <faidare-card-row
+            [label]="panel.type ? panel.name.replace(toReplace, ' ') + ' (' + panel.type + ')' :
+            panel.name.replace(toReplace,' ')">
             <ng-template>
               <a [routerLink]="['/']"
                  [queryParams]="{germplasmLists: panel.name, types: 'Germplasm'}">
diff --git a/frontend/src/app/germplasm-card/germplasm-card.component.ts b/frontend/src/app/germplasm-card/germplasm-card.component.ts
index 77f4ecd3..8ca15147 100644
--- a/frontend/src/app/germplasm-card/germplasm-card.component.ts
+++ b/frontend/src/app/germplasm-card/germplasm-card.component.ts
@@ -39,11 +39,6 @@ export class GermplasmCardComponent implements OnInit {
     germplasmSource: DataDiscoverySource;
     toReplace = /_/g;
 
-    // TODO extract those url in a configuration file. URL maybe be added during extraction.
-    IMAGES_ACCESSION_URL = 'https://urgi.versailles.inra.fr/files/siregal/images/accession/';
-    IMAGES_INSTITUTION_URL = 'https://urgi.versailles.inra.fr/files/siregal/images//institution/';
-    IMAGES_BRC_URL = 'https://urgi.versailles.inra.fr/files/siregal/images/grc/inra_brc_en.png';
-
 
     loaded: Promise<any>;
     loading = true;
diff --git a/frontend/src/app/navbar/navbar.component.spec.ts b/frontend/src/app/navbar/navbar.component.spec.ts
index f057050e..f66120ae 100644
--- a/frontend/src/app/navbar/navbar.component.spec.ts
+++ b/frontend/src/app/navbar/navbar.component.spec.ts
@@ -56,7 +56,7 @@ describe('NavbarComponent', () => {
         component.navbar = {
             name: 'FAIDARE',
             title: 'FAIR Data-finder for Agronomic REsearch',
-            logo: 'assets/logo.png',
+            logo: 'assets/applicationLogo.png',
             links: [
                 { label: 'INRA', url: 'http://www.inra.fr/' },
                 { label: 'URGI', url: 'https://urgi.versailles.inra.fr/' }
diff --git a/frontend/src/app/result-page/result-page.component.html b/frontend/src/app/result-page/result-page.component.html
index b06da980..b5a0c9d0 100644
--- a/frontend/src/app/result-page/result-page.component.html
+++ b/frontend/src/app/result-page/result-page.component.html
@@ -105,4 +105,3 @@
     </div>
   </div>
 </div>
-<gpds-footer></gpds-footer>
diff --git a/frontend/src/app/site-card/site-card.component.html b/frontend/src/app/site-card/site-card.component.html
index 628e57e4..2fe40d94 100644
--- a/frontend/src/app/site-card/site-card.component.html
+++ b/frontend/src/app/site-card/site-card.component.html
@@ -85,7 +85,7 @@
           <ng-template>
             {{ location.latitude }} ({{ location.latitude | coordinates:type.ToDegrees:direction.Latitude }})
           </ng-template>
-        </gpds-card-row>
+        </faidare-card-row>
 
         <faidare-card-row
           label="Longitude"
@@ -93,7 +93,7 @@
           <ng-template>
             {{ location.longitude }} ({{ location.longitude | coordinates:type.ToDegrees:direction.Longitude }})
           </ng-template>
-        </gpds-card-row>
+        </faidare-card-row>
 
         <faidare-card-row
           label="Geographical location"
diff --git a/frontend/src/assets/faidare/logo.png b/frontend/src/assets/faidare/applicationLogo.png
similarity index 100%
rename from frontend/src/assets/faidare/logo.png
rename to frontend/src/assets/faidare/applicationLogo.png
diff --git a/frontend/src/assets/gpds/elixir-logo.png b/frontend/src/assets/gpds/elixir-logo.png
deleted file mode 100644
index 4ab5f84477a00a439d7875691e4eab12e181ddfb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 15605
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
NO7iNcN?Egz{{wm@2k`&^

diff --git a/frontend/src/environments/environment.prod.ts b/frontend/src/environments/environment.prod.ts
index 84e09f13..1b80c5f4 100644
--- a/frontend/src/environments/environment.prod.ts
+++ b/frontend/src/environments/environment.prod.ts
@@ -4,7 +4,7 @@ export const environment = {
     navbar: {
         name: 'FAIDARE',
         title: 'FAIR Data-finder for Agronomic REsearch',
-        logo: 'assets/logo.png',
+        logo: 'assets/applicationLogo.png',
         links: [
             {
                 label: 'URGI',
diff --git a/frontend/src/environments/environment.ts b/frontend/src/environments/environment.ts
index 988a9ca2..436d1da0 100644
--- a/frontend/src/environments/environment.ts
+++ b/frontend/src/environments/environment.ts
@@ -7,7 +7,7 @@ export const environment = {
     navbar: {
         name: 'FAIDARE',
         title: 'FAIR Data-finder for Agronomic REsearch',
-        logo: 'assets/logo.png',
+        logo: 'assets/applicationLogo.png',
         links: [
             {
                 label: 'URGI',
-- 
GitLab


From d65a96984de956feb60124e5e013e2552059102e Mon Sep 17 00:00:00 2001
From: jdestin <jeremy.destin@inra.fr>
Date: Thu, 6 Jun 2019 16:33:45 +0200
Subject: [PATCH 11/14] fix: Remove back to form button. Issue #15

---
 .../src/app/germplasm-card/germplasm-card.component.html    | 6 ------
 frontend/src/app/navbar/navbar.component.scss               | 4 ++--
 frontend/src/app/site-card/site-card.component.html         | 6 ------
 frontend/src/app/study-card/study-card.component.html       | 6 ------
 4 files changed, 2 insertions(+), 20 deletions(-)

diff --git a/frontend/src/app/germplasm-card/germplasm-card.component.html b/frontend/src/app/germplasm-card/germplasm-card.component.html
index 9e94c9f0..12326d0f 100644
--- a/frontend/src/app/germplasm-card/germplasm-card.component.html
+++ b/frontend/src/app/germplasm-card/germplasm-card.component.html
@@ -1,11 +1,5 @@
 <faidare-loading-spinner [loading]="loading" class="float-right"></faidare-loading-spinner>
 
-<div class="text-right back-form-button">
-  <button type="button" class="btn btn-secondary mt-1" routerLink="/">
-    <span> < Back to form </span>
-  </button>
-</div>
-
 <ng-container *ngIf="germplasmGnpis">
   <h3 class="mb-4">
     <img *ngIf="!loading && germplasmGnpis.holdingGenbank && germplasmGnpis.holdingGenbank.instituteName"
diff --git a/frontend/src/app/navbar/navbar.component.scss b/frontend/src/app/navbar/navbar.component.scss
index f631e2b9..7319121e 100644
--- a/frontend/src/app/navbar/navbar.component.scss
+++ b/frontend/src/app/navbar/navbar.component.scss
@@ -1,8 +1,8 @@
 @import "theme";
 
 .navbar {
-  /*background-color: $theme-navbar-bg-color;*/
-  background-image: linear-gradient($theme-navbar-bg-color, $theme-navbar-bg-color, #D3D3D3);
+  background-color: $theme-navbar-bg-color;
+  /*background-image: linear-gradient($theme-navbar-bg-color, #D3D3D3, $theme-navbar-bg-color);*/
 }
 
 .navbar-toggler {
diff --git a/frontend/src/app/site-card/site-card.component.html b/frontend/src/app/site-card/site-card.component.html
index 2fe40d94..4f6affc4 100644
--- a/frontend/src/app/site-card/site-card.component.html
+++ b/frontend/src/app/site-card/site-card.component.html
@@ -1,11 +1,5 @@
 <faidare-loading-spinner [loading]="loading" class="float-right"></faidare-loading-spinner>
 
-<div class="text-right back-form-button">
-  <button type="button" class="btn btn-secondary mt-1" routerLink="/">
-    <span> < Back to form </span>
-  </button>
-</div>
-
 <ng-container *ngIf="location">
   <h3 class="mb-4">
     Site: {{ location.locationName }}
diff --git a/frontend/src/app/study-card/study-card.component.html b/frontend/src/app/study-card/study-card.component.html
index a82e54bb..d7332d84 100644
--- a/frontend/src/app/study-card/study-card.component.html
+++ b/frontend/src/app/study-card/study-card.component.html
@@ -1,11 +1,5 @@
 <faidare-loading-spinner [loading]="loading" class="float-right"></faidare-loading-spinner>
 
-<div class="text-right back-form-button">
-  <button type="button" class="btn btn-secondary mt-1" routerLink="/">
-    <span> < Back to form </span>
-  </button>
-</div>
-
 <ng-container *ngIf="study">
   <h3 class="mb-4">
     Study {{ study.studyType }}: {{ study.studyName }}
-- 
GitLab


From 4765537eeaae905410afd7af7f87a89c5c7c7328 Mon Sep 17 00:00:00 2001
From: jdestin <jeremy.destin@inra.fr>
Date: Tue, 11 Jun 2019 19:49:23 +0200
Subject: [PATCH 12/14] feat: Add back to form button. Issue #15

---
 frontend/src/app/navbar/navbar.component.html | 10 ++++++
 frontend/src/app/navbar/navbar.component.ts   | 32 +++++++++++++++++++
 2 files changed, 42 insertions(+)

diff --git a/frontend/src/app/navbar/navbar.component.html b/frontend/src/app/navbar/navbar.component.html
index 7e20b754..ef756d3f 100644
--- a/frontend/src/app/navbar/navbar.component.html
+++ b/frontend/src/app/navbar/navbar.component.html
@@ -45,5 +45,15 @@
        [href]="navbar.contributor.url" target="_blank">
       <img src="{{ navbar.contributor.logo }}" alt="{{ navbar.contributor.name }} logo" height="60px"/>
     </a>
+    <div>
+      <a [routerLink]="['/']"
+         [queryParams]="previousQueryParam">
+        <button *ngIf="displayBackButton" type="button" class="btn btn-secondary">
+          < Back to form
+        </button>
+      </a>
+    </div>
+
+
   </div>
 </nav>
diff --git a/frontend/src/app/navbar/navbar.component.ts b/frontend/src/app/navbar/navbar.component.ts
index 78d66a1c..f39a9e08 100644
--- a/frontend/src/app/navbar/navbar.component.ts
+++ b/frontend/src/app/navbar/navbar.component.ts
@@ -1,5 +1,7 @@
 import { Component } from '@angular/core';
 import { environment } from '../../environments/environment';
+import { routes as appUrlRoutes } from '../app-routing.module';
+import { ActivatedRoute, Params, Router, RoutesRecognized } from '@angular/router';
 
 @Component({
     selector: 'faidare-navbar',
@@ -8,10 +10,40 @@ import { environment } from '../../environments/environment';
 })
 export class NavbarComponent {
 
+    displayBackButton = false;
+    previousQueryParam: Params;
+
+    constructor(private router: Router, private route: ActivatedRoute
+    ) {
+
+        this.router.events.subscribe(event => {
+            if (event instanceof RoutesRecognized) {
+                if (this.checkIsFormPage(event.url)) {
+                    this.displayBackButton = false;
+                    this.route.queryParams.subscribe(queryParam => {
+                        this.previousQueryParam = queryParam;
+                    });
+                } else {
+                    this.displayBackButton = true;
+                }
+            }
+        });
+    }
+
     navbar = environment.navbar;
     navbarCollapsed = true;
 
     toggleNavbar() {
         this.navbarCollapsed = !this.navbarCollapsed;
     }
+
+    checkIsFormPage(url: String) {
+        for (const route of appUrlRoutes) {
+            const routeType: string = route.path.split(':')[0];
+            if (routeType !== '' && url.startsWith('/' + routeType)) {
+                return false;
+            }
+        }
+        return true;
+    }
 }
-- 
GitLab


From fdd467104e478a8eab2c9733995cc0b023418f74 Mon Sep 17 00:00:00 2001
From: Celia Michotey <celia.michotey@inra.fr>
Date: Wed, 12 Jun 2019 17:48:18 +0200
Subject: [PATCH 13/14] Comment button and fix xref bug. GNP-5482

---
 .../faidare/repository/es/XRefDocumentRepositoryImpl.java | 4 +++-
 frontend/src/app/navbar/navbar.component.html             | 8 ++++----
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/backend/src/main/java/fr/inra/urgi/faidare/repository/es/XRefDocumentRepositoryImpl.java b/backend/src/main/java/fr/inra/urgi/faidare/repository/es/XRefDocumentRepositoryImpl.java
index 7406617a..60be4c1c 100644
--- a/backend/src/main/java/fr/inra/urgi/faidare/repository/es/XRefDocumentRepositoryImpl.java
+++ b/backend/src/main/java/fr/inra/urgi/faidare/repository/es/XRefDocumentRepositoryImpl.java
@@ -11,6 +11,7 @@ import fr.inra.urgi.faidare.elasticsearch.query.impl.ESGenericQueryFactory;
 import fr.inra.urgi.faidare.repository.http.UserGroupsResourceClient;
 import org.elasticsearch.action.search.SearchRequest;
 import org.elasticsearch.action.search.SearchResponse;
+import org.elasticsearch.action.support.IndicesOptions;
 import org.elasticsearch.client.RequestOptions;
 import org.elasticsearch.client.RestHighLevelClient;
 import org.elasticsearch.index.query.QueryBuilder;
@@ -71,7 +72,8 @@ public class XRefDocumentRepositoryImpl implements XRefDocumentRepository {
 
             SearchRequest searchRequest = new SearchRequest()
                 .indices(aliases)
-                .source(source);
+                .source(source)
+                .indicesOptions(IndicesOptions.fromOptions(true, false, false, false));
 
             SearchResponse response = client.search(searchRequest, RequestOptions.DEFAULT);
 
diff --git a/frontend/src/app/navbar/navbar.component.html b/frontend/src/app/navbar/navbar.component.html
index ef756d3f..742e19c5 100644
--- a/frontend/src/app/navbar/navbar.component.html
+++ b/frontend/src/app/navbar/navbar.component.html
@@ -46,14 +46,14 @@
       <img src="{{ navbar.contributor.logo }}" alt="{{ navbar.contributor.name }} logo" height="60px"/>
     </a>
     <div>
-      <a [routerLink]="['/']"
+      <!--<a *ngIf="displayBackButton"
+         [routerLink]="['/']"
          [queryParams]="previousQueryParam">
-        <button *ngIf="displayBackButton" type="button" class="btn btn-secondary">
+        <button type="button" class="btn btn-secondary">
           < Back to form
         </button>
-      </a>
+      </a>-->
     </div>
 
-
   </div>
 </nav>
-- 
GitLab


From e9ee5eabbe12bfe97ef90b880a00a60cd6dc5eff Mon Sep 17 00:00:00 2001
From: Celia Michotey <celia.michotey@inra.fr>
Date: Wed, 12 Jun 2019 17:59:31 +0200
Subject: [PATCH 14/14] Comment button code.

---
 frontend/src/app/navbar/navbar.component.ts | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/frontend/src/app/navbar/navbar.component.ts b/frontend/src/app/navbar/navbar.component.ts
index f39a9e08..364f39bf 100644
--- a/frontend/src/app/navbar/navbar.component.ts
+++ b/frontend/src/app/navbar/navbar.component.ts
@@ -1,7 +1,5 @@
 import { Component } from '@angular/core';
 import { environment } from '../../environments/environment';
-import { routes as appUrlRoutes } from '../app-routing.module';
-import { ActivatedRoute, Params, Router, RoutesRecognized } from '@angular/router';
 
 @Component({
     selector: 'faidare-navbar',
@@ -10,7 +8,7 @@ import { ActivatedRoute, Params, Router, RoutesRecognized } from '@angular/route
 })
 export class NavbarComponent {
 
-    displayBackButton = false;
+    /*displayBackButton = false;
     previousQueryParam: Params;
 
     constructor(private router: Router, private route: ActivatedRoute
@@ -28,7 +26,7 @@ export class NavbarComponent {
                 }
             }
         });
-    }
+    }*/
 
     navbar = environment.navbar;
     navbarCollapsed = true;
@@ -37,7 +35,7 @@ export class NavbarComponent {
         this.navbarCollapsed = !this.navbarCollapsed;
     }
 
-    checkIsFormPage(url: String) {
+    /*checkIsFormPage(url: String) {
         for (const route of appUrlRoutes) {
             const routeType: string = route.path.split(':')[0];
             if (routeType !== '' && url.startsWith('/' + routeType)) {
@@ -45,5 +43,5 @@ export class NavbarComponent {
             }
         }
         return true;
-    }
+    }*/
 }
-- 
GitLab