Catalog alignment
[sdc.git] / catalog-ui / src / app / ng2 / pages / workspace / activity-log / activity-log.component.ts
1 import { Component, OnInit, ViewChild } from '@angular/core';
2 import { SdcUiServices } from 'onap-ui-angular';
3 import { Activity } from '../../../../models/activity';
4 import { ActivityLogService } from '../../../services/activity-log.service';
5 import { WorkspaceService } from '../workspace.service';
6
7 @Component({
8     selector: 'activity-log',
9     templateUrl: './activity-log.component.html',
10     styleUrls: ['./activity-log.component.less', '../../../../../assets/styles/table-style.less']
11 })
12 export class ActivityLogComponent implements OnInit {
13
14     activities: Activity[] = [];
15     temp: Activity[] = [];
16
17     constructor(private workspaceService: WorkspaceService,
18                 private activityLogService: ActivityLogService,
19                 private loaderService: SdcUiServices.LoaderService) {
20     }
21
22     ngOnInit(): void {
23         this.loaderService.activate();
24         const componentId: string = this.workspaceService.metadata.uniqueId;
25         const componentType: string = this.workspaceService.metadata.componentType;
26         this.activityLogService.getActivityLog(componentType, componentId).subscribe((logs) => {
27             this.activities = logs;
28             this.temp = [...logs];
29             this.loaderService.deactivate();
30         }, (error) => { this.loaderService.deactivate(); });
31     }
32
33     updateFilter(event) {
34         const val = event.target.value.toLowerCase();
35
36         // filter our data
37         const temp = this.temp.filter((activity: Activity) => {
38             return !val ||
39                 activity.COMMENT.toLowerCase().indexOf(val) !== -1 ||
40                 activity.STATUS.toLowerCase().indexOf(val) !== -1 ||
41                 activity.ACTION.toLowerCase().indexOf(val) !== -1 ||
42                 activity.MODIFIER.toLowerCase().indexOf(val) !== -1;
43         });
44
45         // update the rows
46         this.activities = temp;
47     }
48 }