11import { ChangeDetectionStrategy , Component , Input } from '@angular/core' ;
2- import { Application , Severity , Vulnerability } from 'app/model/application.model' ;
3- import { Project } from 'app/model/project.model' ;
4- import { WorkflowNodeRunVulnerabilityReport } from 'app/model/workflow.run.model' ;
2+ import { Store } from '@ngxs/store' ;
3+ import { Severity , Vulnerability } from 'app/model/application.model' ;
4+ import { ApplicationsState , ApplicationStateModel } from 'app/store/applications.state' ;
5+ import { WorkflowState , WorkflowStateModel } from 'app/store/workflow.state' ;
56
67@Component ( {
78 selector : 'app-vulnerabilities' ,
@@ -11,7 +12,8 @@ import { WorkflowNodeRunVulnerabilityReport } from 'app/model/workflow.run.model
1112} )
1213export class VulnerabilitiesComponent {
1314
14- _vulnerabilities : Vulnerability [ ] ;
15+ @Input ( ) edit = false ;
16+
1517 orderedVulnerabilities : Vulnerability [ ] ;
1618 summary = {
1719 total : 0 ,
@@ -30,33 +32,24 @@ export class VulnerabilitiesComponent {
3032 unknown : 0 ,
3133 deltaUnknown : 0 ,
3234 } ;
35+ filter = '' ;
3336
34- @Input ( 'vulnerabilities' )
35- set vulnerabilities ( data : Vulnerability [ ] ) {
36- this . _vulnerabilities = data ;
37- this . initVulnerabilities ( data ) ;
38- }
39- get vulnerabilities ( ) {
40- return this . _vulnerabilities ;
41- }
42-
43- @Input ( 'report' )
44- set report ( data : WorkflowNodeRunVulnerabilityReport ) {
45- if ( data ) {
46- this . vulnerabilities = data . report . vulnerabilities ;
47- if ( data . report . previous_run_summary ) {
48- this . calculateDelta ( data . report . previous_run_summary ) ;
49- } else if ( data . report . default_branch_summary ) {
50- this . calculateDelta ( data . report . default_branch_summary ) ;
37+ constructor ( private _store : Store ) {
38+ let nr = ( < WorkflowStateModel > this . _store . selectSnapshot ( WorkflowState ) ) . workflowNodeRun ;
39+ if ( nr ) {
40+ this . initVulnerabilities ( nr . vulnerabilities_report . report . vulnerabilities ) ;
41+ if ( nr . vulnerabilities_report . report . previous_run_summary ) {
42+ this . calculateDelta ( nr . vulnerabilities_report . report . previous_run_summary ) ;
43+ } else {
44+ this . calculateDelta ( nr . vulnerabilities_report . report . default_branch_summary ) ;
5145 }
46+ this . edit = false ;
47+ } else {
48+ let app = ( < ApplicationStateModel > this . _store . selectSnapshot ( ApplicationsState ) ) . application ;
49+ this . initVulnerabilities ( app . vulnerabilities ) ;
5250 }
53- }
54-
55- @Input ( ) edit = false ;
56- @Input ( ) project : Project ;
57- @Input ( ) application : Application ;
5851
59- filter = '' ;
52+ }
6053
6154 updateFilter ( v : Vulnerability ) : void {
6255 this . filter = v . component + ' ' + v . version ;
0 commit comments