From 47a3fe1c4f48a4967338e17892b8401a57e07dbd Mon Sep 17 00:00:00 2001
From: Matthieu Benoist <mbenoist@ausy-group.com>
Date: Thu, 28 Apr 2022 16:14:32 +0200
Subject: [PATCH] Linkify the dataset description

---
 package-lock.json                                 | 15 +++++++++++++--
 package.json                                      |  1 +
 .../dataset-info/dataset-info.component.html      |  2 +-
 .../dataset-info/dataset-info.component.ts        |  3 ++-
 4 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 23817dac..131ea4e7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "webapp",
-  "version": "2.8.0",
+  "version": "2.8.1",
   "lockfileVersion": 2,
   "requires": true,
   "packages": {
     "": {
       "name": "webapp",
-      "version": "2.8.0",
+      "version": "2.8.1",
       "hasInstallScript": true,
       "license": "GNU Affero General Public License v3.0",
       "dependencies": {
@@ -34,6 +34,7 @@
         "core-js": "^2.5.7",
         "font-awesome": "^4.7.0",
         "hamburgers": "^1.1.3",
+        "ibs-format": "^1.4.10",
         "jwt-decode": "^2.2.0",
         "lodash.clonedeep": "^4.5.0",
         "mapbox-gl": "^1.11.1",
@@ -9945,6 +9946,11 @@
         "ms": "^2.0.0"
       }
     },
+    "node_modules/ibs-format": {
+      "version": "1.4.10",
+      "resolved": "https://registry.npmjs.org/ibs-format/-/ibs-format-1.4.10.tgz",
+      "integrity": "sha512-MXjOPMgg0bkOUrT3juG6kAomhpbBAtS9V41Fnf0MF9hygxi/cXQ8BK4P5dfPOIyQawtHtUBxuQFYQJS5zrZRLg=="
+    },
     "node_modules/iconv-lite": {
       "version": "0.4.24",
       "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -28768,6 +28774,11 @@
         "ms": "^2.0.0"
       }
     },
+    "ibs-format": {
+      "version": "1.4.10",
+      "resolved": "https://registry.npmjs.org/ibs-format/-/ibs-format-1.4.10.tgz",
+      "integrity": "sha512-MXjOPMgg0bkOUrT3juG6kAomhpbBAtS9V41Fnf0MF9hygxi/cXQ8BK4P5dfPOIyQawtHtUBxuQFYQJS5zrZRLg=="
+    },
     "iconv-lite": {
       "version": "0.4.24",
       "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
diff --git a/package.json b/package.json
index 46a16f46..1f9582e7 100644
--- a/package.json
+++ b/package.json
@@ -45,6 +45,7 @@
     "core-js": "^2.5.7",
     "font-awesome": "^4.7.0",
     "hamburgers": "^1.1.3",
+    "ibs-format": "^1.4.10",
     "jwt-decode": "^2.2.0",
     "lodash.clonedeep": "^4.5.0",
     "mapbox-gl": "^1.11.1",
diff --git a/src/app/dataset-detail/components/dataset-info/dataset-info.component.html b/src/app/dataset-detail/components/dataset-info/dataset-info.component.html
index 3e2714a5..5299964f 100644
--- a/src/app/dataset-detail/components/dataset-info/dataset-info.component.html
+++ b/src/app/dataset-detail/components/dataset-info/dataset-info.component.html
@@ -4,7 +4,7 @@
       <span class="info-title">
         Description
       </span>
-      <p class="abstract">{{ abstract }}</p>
+      <p class="abstract" [innerHTML]="abstract"></p>
     </div>
     <app-info-summary class="mobile-section"></app-info-summary>
 
diff --git a/src/app/dataset-detail/components/dataset-info/dataset-info.component.ts b/src/app/dataset-detail/components/dataset-info/dataset-info.component.ts
index 97a4ff2e..cbf2cef6 100644
--- a/src/app/dataset-detail/components/dataset-info/dataset-info.component.ts
+++ b/src/app/dataset-detail/components/dataset-info/dataset-info.component.ts
@@ -7,6 +7,7 @@ import { environment } from '../../../../environments/environment';
 import { License, Metadata, typesMetadata } from '../../../shared/models';
 import { DatasetDetailService } from '../../services';
 import { UsageStatisticsService } from '../../services/usage-statistics.service';
+import { ibsFormat } from 'ibs-format';
 
 @Component({
   selector: 'app-dataset-info',
@@ -86,7 +87,7 @@ export class DatasetInfoComponent implements OnInit, OnDestroy {
   }
 
   get abstract() {
-    return this.metadata.abstract;
+    return ibsFormat(this.metadata.abstract,[],{detectLinks: true, target: '_blank'});
   }
 
   getDatasetDataRepresentationType(): string {
-- 
GitLab