Skip to content
Snippets Groups Projects
Commit 57e5d002 authored by Xiao Gui's avatar Xiao Gui
Browse files

bugfix: ieeg fetching specific feat re: id

parent c9b2cdf2
No related merge requests found
......@@ -22,6 +22,8 @@ export class BsFeatureIEEGCmp extends BsRegionInputBase implements OnDestroy{
public ARIA_LABELS = ARIA_LABELS
public CONST = CONST
private featureId: string
private results: (TBSSummary & TBSDEtail)[] = []
constructor(
private store: Store<any>,
......@@ -29,7 +31,7 @@ export class BsFeatureIEEGCmp extends BsRegionInputBase implements OnDestroy{
@Optional() @Inject(REGISTERED_FEATURE_INJECT_DATA) data: TFeatureCmpInput,
){
super(svc, data)
if (data.featureId) this.featureId = data.featureId
this.subs.push(
this.results$.subscribe(results => {
this.results = results
......@@ -40,7 +42,10 @@ export class BsFeatureIEEGCmp extends BsRegionInputBase implements OnDestroy{
public results$: Observable<(TBSSummary & TBSDEtail)[]> = this.region$.pipe(
switchMap(() => this.getFeatureInstancesList(SIIBRA_FEATURE_KEY).pipe(
switchMap(arr => forkJoin(arr.map(it => this.getFeatureInstance(SIIBRA_FEATURE_KEY, it["@id"])))),
switchMap(arr => forkJoin(arr.filter(it => {
if (!this.featureId) return true
return it['@id'] === this.featureId
}).map(it => this.getFeatureInstance(SIIBRA_FEATURE_KEY, it["@id"])))),
catchError(() => of([]))
)),
)
......
......@@ -140,6 +140,7 @@ export class RegionalFeatureWrapperCmp implements OnChanges{
return
}
const featureId = contextedFeature.result['@id']
const arg = {}
if (contextedFeature.featureName === RECEPTOR_FEATURE_NAME) {
arg['name'] = contextedFeature.result['name']
......@@ -194,7 +195,7 @@ export class RegionalFeatureWrapperCmp implements OnChanges{
const injector = Injector.create({
providers: [{
provide: REGISTERED_FEATURE_INJECT_DATA,
useValue: { region } as TFeatureCmpInput
useValue: { region, featureId } as TFeatureCmpInput
}],
})
const cmp = cf.create(injector)
......
......@@ -13,6 +13,7 @@ function processRegion(region: TRegion) {
export type TFeatureCmpInput = {
region: TRegion
featureId?: string
}
export type TRegisteredFeature<V = any> = {
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment