|  |  | @ -8,6 +8,7 @@ import { | 
			
		
	
		
			
				
					|  |  |  |   Output, | 
			
		
	
		
			
				
					|  |  |  |   ViewChild | 
			
		
	
		
			
				
					|  |  |  | } from '@angular/core'; | 
			
		
	
		
			
				
					|  |  |  | import { SelectionModel } from '@angular/cdk/collections'; | 
			
		
	
		
			
				
					|  |  |  | import { MatPaginator, PageEvent } from '@angular/material/paginator'; | 
			
		
	
		
			
				
					|  |  |  | import { MatSort } from '@angular/material/sort'; | 
			
		
	
		
			
				
					|  |  |  | import { MatTableDataSource } from '@angular/material/table'; | 
			
		
	
	
		
			
				
					|  |  | @ -41,6 +42,7 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy { | 
			
		
	
		
			
				
					|  |  |  |   @Input() locale: string; | 
			
		
	
		
			
				
					|  |  |  |   @Input() pageSize = DEFAULT_PAGE_SIZE; | 
			
		
	
		
			
				
					|  |  |  |   @Input() showActions: boolean; | 
			
		
	
		
			
				
					|  |  |  |   @Input() showCheckbox = false; | 
			
		
	
		
			
				
					|  |  |  |   @Input() showNameColumn = true; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   @Output() activityDeleted = new EventEmitter<string>(); | 
			
		
	
	
		
			
				
					|  |  | @ -49,6 +51,7 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy { | 
			
		
	
		
			
				
					|  |  |  |   @Output() export = new EventEmitter<string[]>(); | 
			
		
	
		
			
				
					|  |  |  |   @Output() exportDrafts = new EventEmitter<string[]>(); | 
			
		
	
		
			
				
					|  |  |  |   @Output() import = new EventEmitter<void>(); | 
			
		
	
		
			
				
					|  |  |  |   @Output() selectedActivities = new EventEmitter<Activity[]>(); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   @ViewChild(MatPaginator) paginator: MatPaginator; | 
			
		
	
		
			
				
					|  |  |  |   @ViewChild(MatSort) sort: MatSort; | 
			
		
	
	
		
			
				
					|  |  | @ -67,6 +70,7 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy { | 
			
		
	
		
			
				
					|  |  |  |   public placeholder = ''; | 
			
		
	
		
			
				
					|  |  |  |   public routeQueryParams: Subscription; | 
			
		
	
		
			
				
					|  |  |  |   public searchKeywords: string[] = []; | 
			
		
	
		
			
				
					|  |  |  |   public selectedRows = new SelectionModel<Activity>(true, []); | 
			
		
	
		
			
				
					|  |  |  |   public totalFees: number; | 
			
		
	
		
			
				
					|  |  |  |   public totalValue: number; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -81,8 +85,15 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy { | 
			
		
	
		
			
				
					|  |  |  |       }); | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   public areAllRowsSelected() { | 
			
		
	
		
			
				
					|  |  |  |     const numSelectedRows = this.selectedRows.selected.length; | 
			
		
	
		
			
				
					|  |  |  |     const numTotalRows = this.dataSource.data.length; | 
			
		
	
		
			
				
					|  |  |  |     return numSelectedRows === numTotalRows; | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   public ngOnChanges() { | 
			
		
	
		
			
				
					|  |  |  |     this.displayedColumns = [ | 
			
		
	
		
			
				
					|  |  |  |       'select', | 
			
		
	
		
			
				
					|  |  |  |       'count', | 
			
		
	
		
			
				
					|  |  |  |       'date', | 
			
		
	
		
			
				
					|  |  |  |       'type', | 
			
		
	
	
		
			
				
					|  |  | @ -98,6 +109,16 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy { | 
			
		
	
		
			
				
					|  |  |  |       'actions' | 
			
		
	
		
			
				
					|  |  |  |     ]; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     if (this.showCheckbox) { | 
			
		
	
		
			
				
					|  |  |  |       this.displayedColumns = this.displayedColumns.filter((column) => { | 
			
		
	
		
			
				
					|  |  |  |         return column !== 'count'; | 
			
		
	
		
			
				
					|  |  |  |       }); | 
			
		
	
		
			
				
					|  |  |  |     } else { | 
			
		
	
		
			
				
					|  |  |  |       this.displayedColumns = this.displayedColumns.filter((column) => { | 
			
		
	
		
			
				
					|  |  |  |         return column !== 'select'; | 
			
		
	
		
			
				
					|  |  |  |       }); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     if (!this.showNameColumn) { | 
			
		
	
		
			
				
					|  |  |  |       this.displayedColumns = this.displayedColumns.filter((column) => { | 
			
		
	
		
			
				
					|  |  |  |         return column !== 'nameWithSymbol'; | 
			
		
	
	
		
			
				
					|  |  | @ -133,6 +154,17 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy { | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   ngOnInit() { | 
			
		
	
		
			
				
					|  |  |  |     if (this.showCheckbox) { | 
			
		
	
		
			
				
					|  |  |  |       this.toggleAllRows(); | 
			
		
	
		
			
				
					|  |  |  |       this.selectedRows.changed | 
			
		
	
		
			
				
					|  |  |  |         .pipe(takeUntil(this.unsubscribeSubject)) | 
			
		
	
		
			
				
					|  |  |  |         .subscribe((selectedRows) => { | 
			
		
	
		
			
				
					|  |  |  |           this.selectedActivities.emit(selectedRows.source.selected); | 
			
		
	
		
			
				
					|  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   public onChangePage(page: PageEvent) { | 
			
		
	
		
			
				
					|  |  |  |     this.pageIndex = page.pageIndex; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | @ -140,6 +172,21 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy { | 
			
		
	
		
			
				
					|  |  |  |     this.totalValue = this.getTotalValue(); | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   public onClickActivity(activity: Activity) { | 
			
		
	
		
			
				
					|  |  |  |     if (this.showCheckbox) { | 
			
		
	
		
			
				
					|  |  |  |       this.selectedRows.toggle(activity); | 
			
		
	
		
			
				
					|  |  |  |     } else if ( | 
			
		
	
		
			
				
					|  |  |  |       this.hasPermissionToOpenDetails && | 
			
		
	
		
			
				
					|  |  |  |       !activity.isDraft && | 
			
		
	
		
			
				
					|  |  |  |       activity.type !== 'ITEM' | 
			
		
	
		
			
				
					|  |  |  |     ) { | 
			
		
	
		
			
				
					|  |  |  |       this.onOpenPositionDialog({ | 
			
		
	
		
			
				
					|  |  |  |         dataSource: activity.SymbolProfile.dataSource, | 
			
		
	
		
			
				
					|  |  |  |         symbol: activity.SymbolProfile.symbol | 
			
		
	
		
			
				
					|  |  |  |       }); | 
			
		
	
		
			
				
					|  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   public onCloneActivity(aActivity: OrderWithAccount) { | 
			
		
	
		
			
				
					|  |  |  |     this.activityToClone.emit(aActivity); | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
	
		
			
				
					|  |  | @ -200,6 +247,14 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy { | 
			
		
	
		
			
				
					|  |  |  |     this.activityToUpdate.emit(aActivity); | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   public toggleAllRows() { | 
			
		
	
		
			
				
					|  |  |  |     this.areAllRowsSelected() | 
			
		
	
		
			
				
					|  |  |  |       ? this.selectedRows.clear() | 
			
		
	
		
			
				
					|  |  |  |       : this.dataSource.data.forEach((row) => this.selectedRows.select(row)); | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     this.selectedActivities.emit(this.selectedRows.selected); | 
			
		
	
		
			
				
					|  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |   public ngOnDestroy() { | 
			
		
	
		
			
				
					|  |  |  |     this.unsubscribeSubject.next(); | 
			
		
	
		
			
				
					|  |  |  |     this.unsubscribeSubject.complete(); | 
			
		
	
	
		
			
				
					|  |  | @ -237,9 +292,9 @@ export class ActivitiesTableComponent implements OnChanges, OnDestroy { | 
			
		
	
		
			
				
					|  |  |  |       type: 'TAG' | 
			
		
	
		
			
				
					|  |  |  |     }; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |     fieldValueMap[format(activity.date, 'yyyy')] = { | 
			
		
	
		
			
				
					|  |  |  |       id: format(activity.date, 'yyyy'), | 
			
		
	
		
			
				
					|  |  |  |       label: format(activity.date, 'yyyy'), | 
			
		
	
		
			
				
					|  |  |  |     fieldValueMap[format(new Date(activity.date), 'yyyy')] = { | 
			
		
	
		
			
				
					|  |  |  |       id: format(new Date(activity.date), 'yyyy'), | 
			
		
	
		
			
				
					|  |  |  |       label: format(new Date(activity.date), 'yyyy'), | 
			
		
	
		
			
				
					|  |  |  |       type: 'TAG' | 
			
		
	
		
			
				
					|  |  |  |     }; | 
			
		
	
		
			
				
					|  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  | 
 |