diff --git a/package.json b/package.json index 1297909f46e45ece59d07e3ba48eed20094126ce..b5f3d3336fa80639bb7e2a229a92acb34a65d98a 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "@ngrx/store": "^9.1.1", "@types/node": "12.12.39", "export-nehuba": "0.0.11", - "hbp-connectivity-component": "^0.3.18", + "hbp-connectivity-component": "^0.4.3", "zone.js": "^0.10.2" } } diff --git a/src/atlasComponents/connectivity/connectivityBrowser/connectivityBrowser.component.spec.ts b/src/atlasComponents/connectivity/connectivityBrowser/connectivityBrowser.component.spec.ts index 5c46a0f721a4991140e75f3bd41b4fcdc48dbeb4..ce733fca9a439773adb6caaceef65c7e315796ed 100644 --- a/src/atlasComponents/connectivity/connectivityBrowser/connectivityBrowser.component.spec.ts +++ b/src/atlasComponents/connectivity/connectivityBrowser/connectivityBrowser.component.spec.ts @@ -39,15 +39,15 @@ describe('ConnectivityComponent', () => { let datasetList = [ { - id: 'id1', - name: 'n1', - description: 'd1', + ['@id']: 'id1', + src_name: 'id1', + src_info: 'd1', kgId: 'kgId1', kgschema: 'kgschema1' }, { - id: 'id2', - name: 'n2', - description: 'd2', + ['@id']: 'id2', + src_name: 'id2', + src_info: 'd2', kgId: 'kgId2', kgschema: 'kgschema2' } @@ -92,17 +92,17 @@ describe('ConnectivityComponent', () => { component.datasetList = datasetList - component.changeDataset({value: 'n1'}) + component.changeDataset({value: 'id1'}) expect(component.selectedDatasetDescription).toEqual('d1') expect(component.selectedDatasetKgId).toEqual('kgId1') expect(component.selectedDatasetKgSchema).toEqual('kgschema1') - component.changeDataset({value: 'n2'}) + component.changeDataset({value: 'id2'}) expect(component.selectedDatasetDescription).toEqual('d2') expect(component.selectedDatasetKgId).toEqual('kgId2') expect(component.selectedDatasetKgSchema).toEqual('kgschema2') }) -}); \ No newline at end of file +}); diff --git a/src/atlasComponents/connectivity/connectivityBrowser/connectivityBrowser.component.ts b/src/atlasComponents/connectivity/connectivityBrowser/connectivityBrowser.component.ts index 7be783d314f81b62d69045d3cdc75538205acc30..d7f3d3b5886152a638357e8665bdcdb60ea9dd19 100644 --- a/src/atlasComponents/connectivity/connectivityBrowser/connectivityBrowser.component.ts +++ b/src/atlasComponents/connectivity/connectivityBrowser/connectivityBrowser.component.ts @@ -38,7 +38,9 @@ export class ConnectivityBrowserComponent implements OnInit, AfterViewInit, OnDe */ private _isFirstUpdate = true - public connectivityUrl = 'https://connectivity-query-v1-1-connectivity.apps.hbp.eu/v1.1/studies' + // public connectivityUrl = 'https://connectivity-query-v1-1-connectivity.apps.hbp.eu/v1.1/studies' + public connectivityUrl: string + private siibraApiUrl = 'https://siibra-api-tmpfullvolmetadata.apps-dev.hbp.eu/v1_0/' private accordionIsExpanded = false @@ -99,11 +101,16 @@ export class ConnectivityBrowserComponent implements OnInit, AfterViewInit, OnDe } this.regionName = newRegionName + this.regionId = `${val.fullId.kg.kgSchema}/${val.fullId.kg.kgId}` + this.atlasId = val.context.atlas['@id'] + this.parcellationId = val.context.parcellation['@id'] // TODO may not be necessary this.changeDetectionRef.detectChanges() } - @Input() parcellationId: any + public atlasId: any + public parcellationId: any + public regionId: string public regionName: string public regionHemisphere: string = null public datasetList: any[] = [] @@ -144,10 +151,12 @@ export class ConnectivityBrowserComponent implements OnInit, AfterViewInit, OnDe public fullConnectivityLoadUrl: string ngOnInit(): void { + this.connectivityUrl = `${this.siibraApiUrl}atlases/${encodeURIComponent(this.atlasId)}/parcellations/${encodeURIComponent(this.parcellationId)}/regions/${encodeURIComponent(this.regionId)}/features/ConnectivityProfile` + this.httpClient.get<[]>(this.connectivityUrl).subscribe(res => { - this.datasetList = res.filter(dl => dl['parcellation id'] === this.parcellationId) - this.selectedDataset = this.datasetList[0]?.name - this.selectedDatasetDescription = this.datasetList[0]?.description + this.datasetList = res + this.selectedDataset = this.datasetList[0]?.['@id'] + this.selectedDatasetDescription = this.datasetList[0]?.['src_info'] this.changeDataset() }) @@ -293,18 +302,17 @@ export class ConnectivityBrowserComponent implements OnInit, AfterViewInit, OnDe changeDataset(event = null) { if (event) { this.selectedDataset = event.value - const foundDataset = this.datasetList.find(d => d.name === this.selectedDataset) - this.selectedDatasetDescription = foundDataset?.description + const foundDataset = this.datasetList.find(d => d['@id'] === this.selectedDataset) + this.selectedDatasetDescription = foundDataset?.['src_info'] this.selectedDatasetKgId = foundDataset?.kgId || null this.selectedDatasetKgSchema = foundDataset?.kgschema || null } if (this.datasetList.length && this.selectedDataset) { - const selectedDatasetId = this.datasetList.find(d => d.name === this.selectedDataset).id - const url = selectedDatasetId ? `${this.connectivityUrl}/${selectedDatasetId}` : null + const url = `${this.connectivityUrl}/${encodeURIComponent(this.selectedDataset)}` this.connectivityLoadUrl.emit(url) this.loadUrl = url - this.fullConnectivityLoadUrl = selectedDatasetId ? `${this.connectivityUrl}/${selectedDatasetId}/full_matrix` : null + this.fullConnectivityLoadUrl = `${this.siibraApiUrl}atlases/${encodeURIComponent(this.atlasId)}/parcellations/${encodeURIComponent(this.parcellationId)}/features/ConnectivityMatrix/${encodeURIComponent(this.selectedDataset)}` } } diff --git a/src/atlasComponents/connectivity/connectivityBrowser/connectivityBrowser.template.html b/src/atlasComponents/connectivity/connectivityBrowser/connectivityBrowser.template.html index 178cab32f593d5eb1690fcd46c89ab1cb44b4ea5..a24a3df856d33d7f678134ae110f6c0a6f59686a 100644 --- a/src/atlasComponents/connectivity/connectivityBrowser/connectivityBrowser.template.html +++ b/src/atlasComponents/connectivity/connectivityBrowser/connectivityBrowser.template.html @@ -30,8 +30,8 @@ (selectionChange)="changeDataset($event)"> <mat-option *ngFor="let dataset of datasetList" - [value]="dataset.name"> - {{ dataset.name }} + [value]="dataset['@id']"> + {{ dataset['src_name'] }} </mat-option> </mat-select> </mat-form-field> diff --git a/src/viewerModule/viewerCmp/viewerCmp.template.html b/src/viewerModule/viewerCmp/viewerCmp.template.html index c401208018a6e89b00075de69239b8d976084111..432e11ffad63cc73d1fe302c3228d8ede9d1199b 100644 --- a/src/viewerModule/viewerCmp/viewerCmp.template.html +++ b/src/viewerModule/viewerCmp/viewerCmp.template.html @@ -824,7 +824,6 @@ <ng-container *ngFor="let region of selectedRegions$ | async"> <connectivity-browser class="pe-all flex-shrink-1" [region]="region" - [parcellationId]="selectedParcellation['@id']" (setOpenState)="expansionPanel.expanded = $event" [accordionExpanded]="expansionPanel.expanded" (connectivityNumberReceived)="connectedCounterDir.value = $event">