1- import { filter , map } from 'rxjs/operators' ;
1+ import { filter , map , tap } from 'rxjs/operators' ;
22import { ChangeDetectionStrategy , Component , Inject , OnDestroy , OnInit , PLATFORM_ID } from '@angular/core' ;
33import { ActivatedRoute , Data , Router } from '@angular/router' ;
44
@@ -38,6 +38,10 @@ export class FullItemPageComponent extends ItemPageComponent implements OnInit,
3838
3939 metadata$ : Observable < MetadataMap > ;
4040
41+ metadataMapLimit$ : BehaviorSubject < Map < string , number > > = new BehaviorSubject < Map < string , number > > ( new Map < string , number > ( ) ) ;
42+
43+ limitSize = 20 ;
44+
4145 /**
4246 * True when the itemRD has been originated from its workspaceite/workflowitem, false otherwise.
4347 */
@@ -66,7 +70,15 @@ export class FullItemPageComponent extends ItemPageComponent implements OnInit,
6670 this . metadata$ = this . itemRD$ . pipe (
6771 map ( ( rd : RemoteData < Item > ) => rd . payload ) ,
6872 filter ( ( item : Item ) => hasValue ( item ) ) ,
69- map ( ( item : Item ) => item . metadata ) , ) ;
73+ map ( ( item : Item ) => item . metadata ) ,
74+ tap ( ( metadataMap : MetadataMap ) => {
75+ const metadataMapLimit : Map < string , number > = new Map < string , number > ( ) ;
76+ Object . keys ( metadataMap ) . forEach ( ( key : string ) => {
77+ metadataMapLimit . set ( key , this . limitSize ) ;
78+ } ) ;
79+ this . metadataMapLimit$ . next ( metadataMapLimit ) ;
80+ } )
81+ ) ;
7082
7183 this . subs . push ( this . route . data . subscribe ( ( data : Data ) => {
7284 this . fromSubmissionObject = hasValue ( data . wfi ) || hasValue ( data . wsi ) ;
@@ -84,4 +96,10 @@ export class FullItemPageComponent extends ItemPageComponent implements OnInit,
8496 ngOnDestroy ( ) {
8597 this . subs . filter ( ( sub ) => hasValue ( sub ) ) . forEach ( ( sub ) => sub . unsubscribe ( ) ) ;
8698 }
99+
100+ increaseLimit ( key : string ) {
101+ const tmpMap : Map < string , number > = this . metadataMapLimit$ . value ;
102+ tmpMap . set ( key , tmpMap . get ( key ) + this . limitSize ) ;
103+ this . metadataMapLimit$ . next ( tmpMap ) ;
104+ }
87105}
0 commit comments