RED-3687 - removed generic param on init context
This commit is contained in:
parent
6864edb489
commit
7d899d7f2f
@ -14,6 +14,7 @@ import { ContextComponent } from '@utils/context.component';
|
||||
interface CommentsTemplate {
|
||||
dossier: Dossier;
|
||||
file: File;
|
||||
hiddenComments: boolean;
|
||||
}
|
||||
|
||||
@Component({
|
||||
|
||||
@ -1,17 +1,17 @@
|
||||
import { combineLatest, Observable, ObservableInputTuple, of, pipe } from 'rxjs';
|
||||
import { combineLatest, Observable, of } from 'rxjs';
|
||||
import { map, startWith } from 'rxjs/operators';
|
||||
import { OnDetach, ValuesOf } from '@iqser/common-ui';
|
||||
import { ValuesOf } from '@iqser/common-ui';
|
||||
|
||||
export class ContextComponent<C> {
|
||||
componentContext$: Observable<C> | null = of({} as C);
|
||||
export class ContextComponent<T> {
|
||||
componentContext$: Observable<T> | null = of({} as T);
|
||||
|
||||
protected _initContext<T extends Record<string, ValuesOf<T>>>(context: ObservableInputTuple<T>): void {
|
||||
protected _initContext(context: Record<string, Observable<ValuesOf<T>>>): void {
|
||||
const observables = Object.values(context).map(obs => obs.pipe(startWith(null)));
|
||||
const keys = Object.keys(context);
|
||||
this.componentContext$ = combineLatest(observables).pipe(map(values => this._mapKeysToObs(keys, values)));
|
||||
}
|
||||
|
||||
protected _mapKeysToObs<T>(keys: string[], observables: Observable<any>[]): T {
|
||||
protected _mapKeysToObs(keys: string[], observables: ValuesOf<T>[]): T {
|
||||
return keys.reduce((acc, key, index) => ({ ...acc, [key]: observables[index] }), {} as T);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user