diff --git a/docs/releases/v2.12.5.md b/docs/releases/v2.12.5.md new file mode 100644 index 0000000000000000000000000000000000000000..99593eb2a15a269a0dee8d845eceb735659b7c8b --- /dev/null +++ b/docs/releases/v2.12.5.md @@ -0,0 +1,6 @@ +# v2.12.5 + +## Feature + +- enable connectivity for Julich Brain v3 +- added version inspector in UI diff --git a/mkdocs.yml b/mkdocs.yml index dde2ab13840c506548d8f414fc69e01c373ebb11..3ff6048f486849482bca9b326b24a851d34e7921 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -33,6 +33,7 @@ nav: - Fetching datasets: 'advanced/datasets.md' - Display non-atlas volumes: 'advanced/otherVolumes.md' - Release notes: + - v2.12.5: 'releases/v2.12.5.md' - v2.12.4: 'releases/v2.12.4.md' - v2.12.3: 'releases/v2.12.3.md' - v2.12.2: 'releases/v2.12.2.md' diff --git a/package.json b/package.json index 36f61f7ee0a2ebac9d03fcb870e14ea18d5517e2..2612b896200971ccb34e0cff9cb34476ae98178e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "siibra-explorer", - "version": "2.12.4", + "version": "2.12.5", "description": "siibra-explorer - explore brain atlases. Based on humanbrainproject/nehuba & google/neuroglancer. Built with angular", "scripts": { "lint": "eslint src --ext .ts", diff --git a/src/atlasComponents/sapi/sapi.service.ts b/src/atlasComponents/sapi/sapi.service.ts index 0b8323001c2201d06894f90e3d43e0c7412c0c85..20df7670b1e26c6d7460fa74c0adb65960441840 100644 --- a/src/atlasComponents/sapi/sapi.service.ts +++ b/src/atlasComponents/sapi/sapi.service.ts @@ -22,7 +22,7 @@ export const useViewer = { } as const export const SIIBRA_API_VERSION_HEADER_KEY='x-siibra-api-version' -export const EXPECTED_SIIBRA_API_VERSION = '0.3.11' +export const EXPECTED_SIIBRA_API_VERSION = '0.3.12' let BS_ENDPOINT_CACHED_VALUE: Observable<string> = null diff --git a/src/features/entry/entry.component.ts b/src/features/entry/entry.component.ts index 581b34e0009b0a27479a86ec302d74319a86513a..5e7b728c702fe7425ecdc3dcc2d3b902e42e0e29 100644 --- a/src/features/entry/entry.component.ts +++ b/src/features/entry/entry.component.ts @@ -26,6 +26,33 @@ const categoryAcc = <T extends Record<string, unknown>>(categories: T[]) => { return returnVal } +type ConnectiivtyFilter = { + SPECIES: string[] + PARCELLATION: string[] + SPACE: string[] +} + +const WHITELIST_CONNECTIVITY: ConnectiivtyFilter = { + SPECIES: [ + SPECIES_ENUM.RATTUS_NORVEGICUS, + SPECIES_ENUM.HOMO_SAPIENS + ], + PARCELLATION: [ + IDS.PARCELLATION.JBA29, + IDS.PARCELLATION.JBA30, + IDS.PARCELLATION.WAXHOLMV4 + ], + SPACE: [], +} + +const BANLIST_CONNECTIVITY: ConnectiivtyFilter = { + SPECIES: [], + PARCELLATION: [], + SPACE: [ + IDS.TEMPLATES.BIG_BRAIN + ] +} + @Component({ selector: 'sxplr-feature-entry', templateUrl: './entry.flattened.component.html', @@ -149,10 +176,14 @@ export class EntryComponent extends FeatureBase implements AfterViewInit, OnDest public showConnectivity$ = combineLatest([ this.selectedAtlas$.pipe( - map(atlas => atlas?.species === SPECIES_ENUM.HOMO_SAPIENS || atlas?.species === SPECIES_ENUM.RATTUS_NORVEGICUS) + map(atlas => WHITELIST_CONNECTIVITY.SPECIES.includes(atlas?.species) && !BANLIST_CONNECTIVITY.SPECIES.includes(atlas?.species)) ), this.TPRBbox$.pipe( - map(({ parcellation, template }) => template.id !== IDS.TEMPLATES.BIG_BRAIN && parcellation?.id === IDS.PARCELLATION.JBA29 || parcellation?.id === IDS.PARCELLATION.WAXHOLMV4) + map(({ parcellation, template }) => ( + WHITELIST_CONNECTIVITY.SPACE.includes(template?.id) && !BANLIST_CONNECTIVITY.SPACE.includes(template?.id) + ) || ( + WHITELIST_CONNECTIVITY.PARCELLATION.includes(parcellation?.id) && !BANLIST_CONNECTIVITY.PARCELLATION.includes(parcellation?.id) + )) ) ]).pipe( map(flags => flags.every(f => f)) diff --git a/src/ui/help/about/about.component.ts b/src/ui/help/about/about.component.ts index 3f64429e7bba3d69716b2a8bfbe54046374e6c2b..31fd286633195fd03a9365b665b2ee935c33c537 100644 --- a/src/ui/help/about/about.component.ts +++ b/src/ui/help/about/about.component.ts @@ -1,9 +1,11 @@ -import { Component } from '@angular/core' +import { ChangeDetectionStrategy, Component } from '@angular/core' import { NewestRelease } from '../newestRelease.directive' import { HttpClient } from '@angular/common/http' import { map } from 'rxjs/operators' import { MatDialog } from '@angular/material/dialog' import { HowToCite } from '../howToCite/howToCite.component' +import { SAPI, EXPECTED_SIIBRA_API_VERSION } from "src/atlasComponents/sapi/sapi.service" +import { environment } from "src/environments/environment" @Component({ selector: 'iav-about', @@ -11,9 +13,12 @@ import { HowToCite } from '../howToCite/howToCite.component' styleUrls: [ './about.style.css', ], + changeDetection: ChangeDetectionStrategy.OnPush }) export class AboutCmp extends NewestRelease{ + public versionString: string + public supportEmailAddress: string = `support@ebrains.eu` public contactEmailHref: string = `mailto:${this.supportEmailAddress}?Subject=[siibra-explorer]%20Queries` @@ -30,6 +35,7 @@ export class AboutCmp extends NewestRelease{ constructor(http: HttpClient, private dialog: MatDialog){ super(http) + this.versionString = `${environment.VERSION}-${environment.GIT_HASH}:${EXPECTED_SIIBRA_API_VERSION}:${SAPI.API_VERSION}` } showHowToCite(){ diff --git a/src/ui/help/about/about.style.css b/src/ui/help/about/about.style.css index 6fac494026f707e9d2d554805c3bc3fe4ebfa5f0..c1e6adabeab3d2bdc690bbfa8f0603d90fdcb599 100644 --- a/src/ui/help/about/about.style.css +++ b/src/ui/help/about/about.style.css @@ -4,3 +4,8 @@ flex-wrap: wrap; justify-content: center; } + +.newline +{ + flex: 1 1 100%; +} diff --git a/src/ui/help/about/about.template.html b/src/ui/help/about/about.template.html index ab91ff0dc4d02bcb1068842b72aa9318ac471a1d..75f5b972c3423d71e0aed13cf541840a1f53e6ff 100644 --- a/src/ui/help/about/about.template.html +++ b/src/ui/help/about/about.template.html @@ -43,3 +43,17 @@ How to cite </span> </button> + +<ng-template [ngIf]="versionString" let-versionString> + <div class="newline"></div> + <mat-form-field class="d-block"> + <mat-label> + Version + </mat-label> + <input type="text" matInput [value]="versionString" disabled> + <button mat-icon-button matSuffix + [iav-clipboard-copy]="versionString"> + <i class="fas fa-copy"></i> + </button> + </mat-form-field> +</ng-template> diff --git a/src/ui/help/module.ts b/src/ui/help/module.ts index 4434b2889a244b51cd4a39c1aecc9d42fbc4d53c..5d08c11796a07ccbe8be9d46367b79428a9cabce 100644 --- a/src/ui/help/module.ts +++ b/src/ui/help/module.ts @@ -9,6 +9,9 @@ import { QuickTourModule } from "src/ui/quickTour/module"; import { HowToCite } from "./howToCite/howToCite.component"; import { StrictLocalModule } from "src/strictLocal"; import { HttpClientModule } from "@angular/common/http"; +import { MatInputModule } from "@angular/material/input"; +import { MatDialogModule } from "@angular/material/dialog"; +import { ShareModule } from "src/share"; @NgModule({ imports: [ @@ -19,6 +22,10 @@ import { HttpClientModule } from "@angular/common/http"; QuickTourModule, StrictLocalModule, HttpClientModule, + + ShareModule, + MatInputModule, + MatDialogModule, ], declarations: [ AboutCmp,