From e5873f955b5804ccacce3f9068a11a26b19d4846 Mon Sep 17 00:00:00 2001
From: Xiao Gui <xgui3783@gmail.com>
Date: Wed, 27 Oct 2021 10:28:49 +0200
Subject: [PATCH] bugfix: parc kg link

---
 docs/releases/v2.5.6.md                                |  5 +++++
 mkdocs.yml                                             |  1 +
 package.json                                           |  2 +-
 src/util/pureConstant.service.ts                       |  6 +++---
 src/util/siibraApiConstants/types.ts                   |  5 +++--
 .../breadcrumb/breadcrumb.component.ts                 | 10 +++++++---
 6 files changed, 20 insertions(+), 9 deletions(-)
 create mode 100644 docs/releases/v2.5.6.md

diff --git a/docs/releases/v2.5.6.md b/docs/releases/v2.5.6.md
new file mode 100644
index 000000000..b68bd5477
--- /dev/null
+++ b/docs/releases/v2.5.6.md
@@ -0,0 +1,5 @@
+# v2.5.6
+
+## Bugfix
+
+- re-introduced explore in KG button for parcellation citations
\ No newline at end of file
diff --git a/mkdocs.yml b/mkdocs.yml
index f518f97c0..896264a35 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -40,6 +40,7 @@ pages:
     - Fetching datasets: 'advanced/datasets.md'
     - Display non-atlas volumes: 'advanced/otherVolumes.md'
   - Release notes:
+    - v2.5.6: 'releases/v2.5.6.md'
     - v2.5.5: 'releases/v2.5.5.md'
     - v2.5.4: 'releases/v2.5.4.md'
     - v2.5.3: 'releases/v2.5.3.md'
diff --git a/package.json b/package.json
index f84133d13..8f8a82352 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "interactive-viewer",
-  "version": "2.5.5",
+  "version": "2.5.6",
   "description": "HBP interactive atlas viewer. Integrating KG query, dataset previews & more. Based on humanbrainproject/nehuba & google/neuroglancer. Built with angular",
   "scripts": {
     "build-aot": "VERSION=`node -e 'console.log(require(\"./package.json\").version)'` ng build && node ./third_party/matomo/processMatomo.js",
diff --git a/src/util/pureConstant.service.ts b/src/util/pureConstant.service.ts
index 22ab44b8c..eda57b617 100644
--- a/src/util/pureConstant.service.ts
+++ b/src/util/pureConstant.service.ts
@@ -17,7 +17,7 @@ import { MatSnackBar } from "@angular/material/snack-bar";
 import { TTemplateImage } from "./interfaces";
 
 export const SIIBRA_API_VERSION_HEADER_KEY='x-siibra-api-version'
-export const SIIBRA_API_VERSION = '0.1.6'
+export const SIIBRA_API_VERSION = '0.1.7'
 
 const validVolumeType = new Set([
   'neuroglancer/precomputed',
@@ -496,7 +496,7 @@ Raise/track issues at github repo: <a target = "_blank" href = "${this.repoUrl}"
                         // }]
                       }
                     }),
-                    originDatainfos: (parc._dataset_specs || []).filter(spec => spec["@type"] === 'fzj/tmp/simpleOriginInfo/v0.0.1')
+                    originDatainfos: [...(parc.infos || []), ...(parc._dataset_specs || []).filter(spec => spec["@type"] === 'fzj/tmp/simpleOriginInfo/v0.0.1')]
                   }
                 })
               }
@@ -806,7 +806,7 @@ Raise/track issues at github repo: <a target = "_blank" href = "${this.repoUrl}"
                     '@id': parc.id,
                     name: parc.name,
                     regions,
-                    originDatainfos: (fullParcInfo?._dataset_specs || []).filter(spec => spec["@type"] === 'fzj/tmp/simpleOriginInfo/v0.0.1')
+                    originDatainfos: [...fullParcInfo.infos, ...(fullParcInfo?._dataset_specs || []).filter(spec => spec["@type"] === 'fzj/tmp/simpleOriginInfo/v0.0.1')]
                   }
                 }),
                 ...threeSurferConfig
diff --git a/src/util/siibraApiConstants/types.ts b/src/util/siibraApiConstants/types.ts
index 40feae057..0fdd05528 100644
--- a/src/util/siibraApiConstants/types.ts
+++ b/src/util/siibraApiConstants/types.ts
@@ -147,9 +147,10 @@ export type TParc = {
   }[]
   links: {
     self: THref
+    regions: THref
+    features: THref
   }
-  regions: THref
-  features: THref
+  infos: TDatainfosDetail[]
   modality: TParcModality
   version: TVersion
   _dataset_specs: TDatasetSpec[]
diff --git a/src/viewerModule/viewerStateBreadCrumb/breadcrumb/breadcrumb.component.ts b/src/viewerModule/viewerStateBreadCrumb/breadcrumb/breadcrumb.component.ts
index 8bf705e68..5a4bea443 100644
--- a/src/viewerModule/viewerStateBreadCrumb/breadcrumb/breadcrumb.component.ts
+++ b/src/viewerModule/viewerStateBreadCrumb/breadcrumb/breadcrumb.component.ts
@@ -7,7 +7,7 @@ import { distinctUntilChanged, map } from "rxjs/operators";
 import { viewerStateHelperSelectParcellationWithId, viewerStateRemoveAdditionalLayer, viewerStateSetSelectedRegions } from "src/services/state/viewerState.store.helper";
 import { ngViewerActionClearView, ngViewerSelectorClearViewEntries } from "src/services/state/ngViewerState.store.helper";
 import { OVERWRITE_SHOW_DATASET_DIALOG_TOKEN } from "src/util/interfaces";
-import { TDatainfosDetail } from "src/util/siibraApiConstants/types";
+import { TDatainfosDetail, TSimpleInfo } from "src/util/siibraApiConstants/types";
 
 @Component({
   selector: 'viewer-state-breadcrumb',
@@ -120,8 +120,12 @@ export class ViewerStateBreadCrumb {
 })
 
 export class OriginalDatainfoPipe implements PipeTransform{
-  public transform(arr: TDatainfosDetail[]): TDatainfosDetail[]{
-    if (arr.length > 0) {
+  public transform(arr: (TSimpleInfo | TDatainfosDetail)[]): TDatainfosDetail[]{
+    const detailedInfos = arr.filter(item => item['@type'] === 'minds/core/dataset/v1.0.0') as TDatainfosDetail[]
+    const simpleInfos = arr.filter(item => item['@type'] === 'fzj/tmp/simpleOriginInfo/v0.0.1') as TSimpleInfo[]
+
+    if (detailedInfos.length > 0) return detailedInfos
+    if (simpleInfos.length > 0) {
       return arr.map(d => {
         return {
           '@type': 'minds/core/dataset/v1.0.0',
-- 
GitLab