Skip to content

Commit a235370

Browse files
committed
Merge remote-tracking branch 'origin/bugfix/10.5.18/add-compliance' into bugfix/10.5.18/add-compliance
2 parents 1470103 + 447cc4a commit a235370

File tree

7 files changed

+53
-45
lines changed

7 files changed

+53
-45
lines changed

frontend/src/app/compliance/compliance-reports-view/compliance-reports-view.component.css

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,3 @@ table {
3232
margin-right: 25px !important;
3333
margin-top: 0;
3434
}
35-
36-
.table-responsive {
37-
min-height: 400px;
38-
}

frontend/src/app/compliance/compliance-reports-view/compliance-reports-view.component.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ <h5 class="card-title mb-0 text-uppercase label-header d-flex align-items-center
2727
</div>
2828

2929
<!-- Tabla -->
30-
<div class="table-responsive">
30+
<div [ngStyle]="{'min-height': getTableHeight(), 'height': getTableHeight()}" class="table-responsive">
3131
<table class="table mb-0">
3232
<thead>
3333
<tr>
@@ -108,7 +108,8 @@ <h5 class="card-title mb-0 text-uppercase label-header d-flex align-items-center
108108
<div *ngIf="reportDetail" class="utm-right-container">
109109
<div (click)="reportDetail= undefined" class="overlay overlay-lg col-md-7"></div>
110110
<div class="card utm-right-action utm-right-action-lg ml-0">
111-
<div [ngClass]="(reportDetail.configReportNote && reportDetail.configReportNote !== '') || reportDetail.status === 'complaint' ? 'border-left-success' : 'border-left-danger'"
111+
<div [ngClass]="reportDetail.configReportStatus === ComplianceStatusEnum.COMPLAINT
112+
|| (reportDetail.configReportNote && reportDetail.configReportNote !== '') ? 'border-left-success' : 'border-left-danger'"
112113
class="title d-flex justify-content-between align-items-center border-bottom-1
113114
border-bottom-grey-100 pl-3 pt-3 pr-3 pb-0">
114115
<h6 class="card-title text-blue-800 font-weight-light">

frontend/src/app/compliance/compliance-reports-view/compliance-reports-view.component.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {HttpErrorResponse} from '@angular/common/http';
22
import {
33
ChangeDetectionStrategy,
44
Component,
5-
EventEmitter,
5+
EventEmitter, HostListener,
66
Input,
77
OnChanges,
88
OnDestroy,
@@ -12,11 +12,12 @@ import {
1212
import {EMPTY, Observable, Subject} from 'rxjs';
1313
import {catchError, filter, map, switchMap, takeUntil, tap} from 'rxjs/operators';
1414
import {UtmToastService} from '../../shared/alert/utm-toast.service';
15+
import {SortEvent} from '../../shared/directives/sortable/type/sort-event';
1516
import {SortByType} from '../../shared/types/sort-by.type';
1617
import {CpReportsService} from '../shared/services/cp-reports.service';
1718
import {ComplianceReportType} from '../shared/type/compliance-report.type';
1819
import {ComplianceStandardSectionType} from '../shared/type/compliance-standard-section.type';
19-
import {SortEvent} from '../../shared/directives/sortable/type/sort-event';
20+
import {ComplianceStatusEnum} from "../shared/enums/compliance-status.enum";
2021

2122
@Component({
2223
selector: 'app-compliance-reports-view',
@@ -44,12 +45,20 @@ export class ComplianceReportsViewComponent implements OnInit, OnChanges, OnDest
4445
destroy$: Subject<void> = new Subject();
4546
sort = 'configReportName,desc';
4647
search: string;
48+
viewportHeight: number;
49+
ComplianceStatusEnum = ComplianceStatusEnum;
4750

4851
constructor(private reportsService: CpReportsService,
4952
private toastService: UtmToastService) {
5053
}
5154

55+
@HostListener('window:resize', ['$event'])
56+
onResize(event: Event) {
57+
this.viewportHeight = window.innerHeight;
58+
}
59+
5260
ngOnInit() {
61+
this.viewportHeight = window.innerHeight;
5362
this.reports$ = this.reportsService.onRefresh$
5463
.pipe(takeUntil(this.destroy$),
5564
filter(reportRefresh =>
@@ -133,6 +142,11 @@ export class ComplianceReportsViewComponent implements OnInit, OnChanges, OnDest
133142
});
134143
}
135144

145+
getTableHeight() {
146+
console.log('getTableHeight:', 100 - ((350 / this.viewportHeight) * 100) + 'vh');
147+
return 100 - ((350 / this.viewportHeight) * 100) + 'vh';
148+
}
149+
136150
ngOnDestroy(): void {
137151
this.destroy$.next();
138152
this.destroy$.complete();

frontend/src/app/compliance/compliance-reports-view/components/compliance-report-detail/compliance-report-detail.component.html

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<div class="w-100" *ngIf="compliance$ | async as compliance">
1+
<div class="w-100 d-flex flex-column flex-grow-1 h-100" *ngIf="compliance$ | async as compliance">
22
<div [ngClass]="isComplaint() ? 'border-left-success' : 'border-left-danger'">
33
<div class="d-flex justify-content-around align-content-center py-1" style="border-bottom: 1px solid #ccc;">
44
<div style="padding-left: 10px" class="w-100">
@@ -82,9 +82,8 @@
8282
<span class="text-blue-800 font-weight-light mr-2">Evidence:</span>
8383
</div>
8484

85-
<div *ngIf="compliance.rows.length > 0" class="alert-details w-100 d-flex justify-content-start align-items-center mb-2">
86-
<ngx-json-viewer [expanded]="false" [json]="compliance" class="col-12"></ngx-json-viewer>
87-
<p class="font-size-base"></p>
85+
<div *ngIf="compliance.rows.length > 0" class="alert-details w-100 d-flex d-flex flex-column flex-grow-1 overflow-auto mb-2">
86+
<app-utm-json-detail-view [rowDocument]="compliance.rows"></app-utm-json-detail-view>
8887
</div>
8988
</div>
9089
</div>

frontend/src/app/compliance/compliance-reports-view/components/compliance-report-detail/compliance-report-detail.component.ts

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@ import {VisualizationType} from '../../../../shared/chart/types/visualization.ty
99
import {ChartTypeEnum} from '../../../../shared/enums/chart-type.enum';
1010
import {TimeWindowsService} from '../../../shared/components/utm-cp-section/time-windows.service';
1111
import {ComplianceReportType} from '../../../shared/type/compliance-report.type';
12-
import {ExportPdfService} from "../../../../shared/services/util/export-pdf.service";
13-
import {UtmToastService} from "../../../../shared/alert/utm-toast.service";
14-
import {ComplianceStatusEnum} from "../../../shared/enums/compliance-status.enum";
12+
import {ExportPdfService} from '../../../../shared/services/util/export-pdf.service';
13+
import {UtmToastService} from '../../../../shared/alert/utm-toast.service';
14+
import {ComplianceStatusEnum} from '../../../shared/enums/compliance-status.enum';
15+
import {UtmDashboardVisualizationType} from '../../../../shared/chart/types/dashboard/utm-dashboard-visualization.type';
1516

1617
@Component({
1718
selector: 'app-compliance-report-detail',
@@ -29,6 +30,7 @@ export class ComplianceReportDetailComponent implements OnInit {
2930
compliance$!: Observable<any>;
3031
csvExport = false;
3132
printFormat = false;
33+
vis: VisualizationType;
3234
ComplianceStatusEnum = ComplianceStatusEnum;
3335

3436
constructor(private utmRenderVisualization: UtmRenderVisualization,
@@ -42,40 +44,39 @@ export class ComplianceReportDetailComponent implements OnInit {
4244
this.compliance$ = this.utmRenderVisualization.onRefresh$
4345
.pipe(
4446
filter((refresh) => !!refresh),
45-
concatMap(() => this.utmRenderVisualization.query(this.request)
46-
.pipe(
47-
map(response => response.body.filter(vis =>
48-
vis.visualization.chartType === ChartTypeEnum.TABLE_CHART || vis.visualization.chartType === ChartTypeEnum.LIST_CHART
49-
)),
50-
filter(vis => vis.length > 0),
51-
map(vis => vis[0].visualization),
52-
tap( vis => {
53-
const time = vis.filterType.find( filterType => filterType.field === '@timestamp');
54-
if (time) {
55-
this.timeWindowsService.changeTimeWindows({
56-
reportId: this.report.id,
57-
time: time.value[0]
58-
});
59-
}
60-
}),
61-
concatMap((vis: VisualizationType) => this.runVisualization.run(vis)),
62-
map(run => {
63-
return run[0] && run[0] ? run[0] : {
64-
rows: []
65-
};
66-
})
67-
))
47+
concatMap(() => this.runVisualization.run(this.vis)),
48+
map(run => run[0] && run[0] ? run[0] : {
49+
rows: []
50+
}),
6851
);
6952
}
7053

7154
@Input() set report(report: ComplianceReportType) {
72-
if (report) {
73-
console.log('Report:', report);
55+
/*if (report) {
7456
this._report = report;
7557
this.request = {
7658
...this.request,
7759
'idDashboard.equals': report.dashboardId,
7860
};
61+
this.utmRenderVisualization.notifyRefresh(true);
62+
}*/
63+
64+
if (report) {
65+
this._report = report;
66+
const visualizationType: UtmDashboardVisualizationType = report.dashboard.find(vis =>
67+
vis.visualization.chartType === ChartTypeEnum.TABLE_CHART || vis.visualization.chartType === ChartTypeEnum.LIST_CHART);
68+
69+
if (visualizationType) {
70+
this.vis = visualizationType.visualization;
71+
}
72+
const time = visualizationType.visualization.filterType.find(filterType => filterType.field === '@timestamp');
73+
if (time) {
74+
this.timeWindowsService.changeTimeWindows({
75+
reportId: report.id,
76+
time: time.value[0]
77+
});
78+
}
79+
7980
this.utmRenderVisualization.notifyRefresh(true);
8081
}
8182
}

frontend/src/app/compliance/compliance-reports-view/components/compliance-status/compliance-status.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</ng-container>
99

1010
<ng-container *ngIf="template === 'dropdown'">
11-
<div (click)="onClick($event)" ngbDropdown container="body" #drop="ngbDropdown">
11+
<span (click)="onClick($event)" ngbDropdown container="body" #drop="ngbDropdown">
1212
<a class="btn btn-light btn-sm"
1313
[ngClass]="(report.configReportNote && report.configReportNote !== '') || report.configReportStatus === ComplianceStatus.COMPLAINT ? 'text-success' : 'text-danger'"
1414
ngbDropdownToggle>
@@ -35,7 +35,7 @@
3535
<a style="font-size: 12px" class="menu-link px-2 fw-bolder text-danger">{{ 'Non compliant' }}</a>
3636
</div>
3737
</div>
38-
</div>
38+
</span>
3939
</ng-container>
4040

4141

frontend/src/app/compliance/compliance-reports-view/components/compliance-status/compliance-status.component.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
import {ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
2-
import {Observable} from 'rxjs';
32
import {ModalService} from '../../../../core/modal/modal.service';
4-
import {UtmRenderVisualization} from '../../../../dashboard/shared/services/utm-render-visualization.service';
5-
import {RunVisualizationService} from '../../../../graphic-builder/shared/services/run-visualization.service';
63
import {UtmDashboardVisualizationType} from '../../../../shared/chart/types/dashboard/utm-dashboard-visualization.type';
74
import {VisualizationType} from '../../../../shared/chart/types/visualization.type';
85
import {ModalAddNoteComponent} from '../../../../shared/components/utm/util/modal-add-note/modal-add-note.component';

0 commit comments

Comments
 (0)