From 5752c5f2453ac6f8b3043f7ac0cc88a463a1cbff Mon Sep 17 00:00:00 2001 From: Randy Woods Date: Thu, 9 Jan 2025 16:59:02 -0700 Subject: [PATCH 1/2] CPG Results updates --- .../results/cpg/cpg-practices/cpg-practices.component.html | 3 --- .../results/cpg/cpg-summary/cpg-summary.component.html | 3 --- .../src/app/reports/cpg/cpg-report/cpg-report.component.html | 4 ++-- CSETWebNg/src/assets/i18n/reports/en.json | 3 +-- CSETWebNg/src/assets/i18n/reports/es.json | 3 +-- CSETWebNg/src/assets/i18n/reports/uk.json | 2 -- 6 files changed, 4 insertions(+), 14 deletions(-) diff --git a/CSETWebNg/src/app/assessment/results/cpg/cpg-practices/cpg-practices.component.html b/CSETWebNg/src/app/assessment/results/cpg/cpg-practices/cpg-practices.component.html index e7ba8559e7..c9d4275fac 100644 --- a/CSETWebNg/src/app/assessment/results/cpg/cpg-practices/cpg-practices.component.html +++ b/CSETWebNg/src/app/assessment/results/cpg/cpg-practices/cpg-practices.component.html @@ -25,9 +25,6 @@

{{t('reports.core.cpg.report.security pr

{{t('reports.core.cpg.report.p.b')}}

-

- {{t('reports.core.cpg.report.p.3')}} -

diff --git a/CSETWebNg/src/app/assessment/results/cpg/cpg-summary/cpg-summary.component.html b/CSETWebNg/src/app/assessment/results/cpg/cpg-summary/cpg-summary.component.html index 4b8e279c8c..2246b3ef30 100644 --- a/CSETWebNg/src/app/assessment/results/cpg/cpg-summary/cpg-summary.component.html +++ b/CSETWebNg/src/app/assessment/results/cpg/cpg-summary/cpg-summary.component.html @@ -24,9 +24,6 @@

{{t('reports.core.cpg.report.performance summary')}}

{{t('reports.core.cpg.report.p.a')}} -

-

- {{t('reports.core.cpg.report.p.1')}} {{t('reports.core.cpg.report.ssg.includes ssg')}} diff --git a/CSETWebNg/src/app/reports/cpg/cpg-report/cpg-report.component.html b/CSETWebNg/src/app/reports/cpg/cpg-report/cpg-report.component.html index dedfafdaa5..390cbe0fea 100644 --- a/CSETWebNg/src/app/reports/cpg/cpg-report/cpg-report.component.html +++ b/CSETWebNg/src/app/reports/cpg/cpg-report/cpg-report.component.html @@ -39,7 +39,7 @@

{{t('reports.core.cpg.report.performance summary')}}

- {{t('reports.core.cpg.report.p.1')}} + {{t('reports.core.cpg.report.p.a')}} {{t('reports.core.cpg.report.ssg.includes ssg')}} @@ -63,7 +63,7 @@

{{t('reports.core.cpg.report.chart detail')}}

{{t('reports.core.cpg.report.security practice checklist')}}

-

{{t('reports.core.cpg.report.p.3')}}

+

{{t('reports.core.cpg.report.p.b')}}

diff --git a/CSETWebNg/src/assets/i18n/reports/en.json b/CSETWebNg/src/assets/i18n/reports/en.json index cdb9aa0b71..9d041e25f6 100644 --- a/CSETWebNg/src/assets/i18n/reports/en.json +++ b/CSETWebNg/src/assets/i18n/reports/en.json @@ -637,8 +637,7 @@ "p": { "1": "This chart shows the answer distribution for each of the Security Practice categories.", "2": "This table indicates the answer distribution percentages for each category as indicated in the chart above.", - "3": "This table lists all security practices and how they have been answered.", - "a": "The CPG Performance Summary chart provides a high-level overview of how well an organization meets the goals within each security practice category. It presents the distribution percentage of each response type per category. Additionally, the data is displayed in a table below the chart for further examination.", + "a": "The CPG Performance Summary chart provides a high-level overview of how well an organization meets the goals within each security practice category. It presents the distribution percentage of each response type per category.", "b": "The Security Practice Checklist contains a comprehensive overview of the assessment results, including the TTPs or risks addressed and recommended actions. Additionally, the checklist incorporates criteria such as “Impact,” “Cost,” and “Complexity” for each goal. These criteria can help organizations evaluate the importance and effects of each practice and prioritize them for implementation." }, "ssg": { diff --git a/CSETWebNg/src/assets/i18n/reports/es.json b/CSETWebNg/src/assets/i18n/reports/es.json index c0510d98bd..2571a9b983 100644 --- a/CSETWebNg/src/assets/i18n/reports/es.json +++ b/CSETWebNg/src/assets/i18n/reports/es.json @@ -303,8 +303,7 @@ "security practice checklist": "[ES]Security Practice Checklist", "p": { "1": "[ES]This chart shows the answer distribution for each of the Security Practice categories.", - "2": "[ES]This table indicates the answer distribution percentages for each category as indicated in the chart above.", - "3": "[ES]This table lists all security practices and how they have been answered." + "2": "[ES]This table indicates the answer distribution percentages for each category as indicated in the chart above." }, "current assessment": "[ES]Evaluacion corriente", "notes": "Notas", diff --git a/CSETWebNg/src/assets/i18n/reports/uk.json b/CSETWebNg/src/assets/i18n/reports/uk.json index 414b583329..6b4fd351e9 100644 --- a/CSETWebNg/src/assets/i18n/reports/uk.json +++ b/CSETWebNg/src/assets/i18n/reports/uk.json @@ -333,8 +333,6 @@ "p": { "1": "Ця діаграма показує розподіл відповідей для кожної категорії практики безпеки", "2": "Таблиця нижче показує відсотки розподілу відповідей за кожною категорією, як зазначено на діаграмі вище", - "3": "Ця таблиця містить усі заходи безпеки та способи їх виконання", - "4": "У цій таблиці перераховано всі застосовні методи безпеки SSG і відповіді на них.", "a": "Зведена діаграма CPG Performance Summary надає загальний огляд того, наскільки добре організація досягає цілей у кожній категорії практики безпеки. Він представляє відсоток розподілу кожного типу відповіді на категорію. Крім того, дані відображаються в таблиці під діаграмою для подальшого вивчення.", "b": "Контрольний список практики безпеки містить вичерпний огляд результатів оцінки, включно з TTP або розглянутими ризиками та рекомендованими діями. Крім того, контрольний список містить такі критерії, як «Вплив», «Вартість» і «Складність» для кожної цілі. Ці критерії можуть допомогти організаціям оцінити важливість і наслідки кожної практики та визначити пріоритети для їх впровадження.", "ssg": "До цих результатів включено відповіді на галузеві цілі." From 022e7f491314f67b91c4d19b92dcdd1bb07a8db3 Mon Sep 17 00:00:00 2001 From: Randy Woods Date: Mon, 13 Jan 2025 14:50:11 -0700 Subject: [PATCH 2/2] Fixed CIS Deficiencies. EDM summary legend. Some i18n. --- CSETWebNg/src/app/app.module.ts | 4 +- .../ranked-deficiencty-chart.component.html | 55 ------ ...ranked-deficiencty-chart.component.spec.ts | 48 ----- .../ranked-deficiency-chart.component.html | 67 +++++++ .../ranked-deficiency-chart.component.scss} | 0 .../ranked-deficiency-chart.component.ts} | 16 +- .../ranked-deficiency.component.html | 8 +- .../ranked-deficiency.component.spec.ts | 48 ----- .../ranked-deficiency.component.ts | 1 - .../section-scoring.component.html | 9 +- .../cis-ranked-deficiency.component.html | 2 +- .../edm-summary-results.component.html | 41 ++--- .../edm-summary-results.component.scss | 164 +++++++++++------- .../edm-summary-results.component.ts | 2 +- CSETWebNg/src/assets/i18n/reports/en.json | 17 ++ CSETWebNg/src/assets/i18n/reports/es.json | 17 ++ 16 files changed, 242 insertions(+), 257 deletions(-) delete mode 100644 CSETWebNg/src/app/assessment/results/cis/ranked-deficiencty-chart/ranked-deficiencty-chart.component.html delete mode 100644 CSETWebNg/src/app/assessment/results/cis/ranked-deficiencty-chart/ranked-deficiencty-chart.component.spec.ts create mode 100644 CSETWebNg/src/app/assessment/results/cis/ranked-deficiency-chart/ranked-deficiency-chart.component.html rename CSETWebNg/src/app/assessment/results/cis/{ranked-deficiencty-chart/ranked-deficiencty-chart.component.scss => ranked-deficiency-chart/ranked-deficiency-chart.component.scss} (100%) rename CSETWebNg/src/app/assessment/results/cis/{ranked-deficiencty-chart/ranked-deficiencty-chart.component.ts => ranked-deficiency-chart/ranked-deficiency-chart.component.ts} (81%) delete mode 100644 CSETWebNg/src/app/assessment/results/cis/ranked-deficiency/ranked-deficiency.component.spec.ts diff --git a/CSETWebNg/src/app/app.module.ts b/CSETWebNg/src/app/app.module.ts index 715ea07f4e..c0ec3b60bd 100644 --- a/CSETWebNg/src/app/app.module.ts +++ b/CSETWebNg/src/app/app.module.ts @@ -465,7 +465,7 @@ import { CoverSheetAComponent } from './reports/cis/shared/cover-sheet-a/cover-s import { DisclaimerBlurbAComponent } from './reports/cis/shared/disclaimer-blurb-a/disclaimer-blurb-a.component'; import { ConfigCisComponent } from './assessment/prepare/maturity/config-cis/config-cis.component'; import { CisRankedDeficiencyComponent } from './reports/cis/cis-ranked-deficiency/cis-ranked-deficiency.component'; -import { RankedDeficienctyChartComponent } from './assessment/results/cis/ranked-deficiencty-chart/ranked-deficiencty-chart.component'; +import { RankedDeficiencyChartComponent } from './assessment/results/cis/ranked-deficiency-chart/ranked-deficiency-chart.component'; import { RankedDeficiencyComponent } from './assessment/results/cis/ranked-deficiency/ranked-deficiency.component'; import { CisSectionScoringComponent } from './reports/cis/cis-section-scoring/cis-section-scoring.component'; import { CisScoringChartComponent } from './reports/cis/cis-section-scoring/cis-scoring-chart/cis-scoring-chart.component'; @@ -1021,7 +1021,7 @@ import { AnalyticsResultsComponent } from './assessment/results/analytics-result DisclaimerBlurbAComponent, ConfigCisComponent, CisRankedDeficiencyComponent, - RankedDeficienctyChartComponent, + RankedDeficiencyChartComponent, CisCommentsmarkedComponent, RankedDeficiencyComponent, CisSectionScoringComponent, diff --git a/CSETWebNg/src/app/assessment/results/cis/ranked-deficiencty-chart/ranked-deficiencty-chart.component.html b/CSETWebNg/src/app/assessment/results/cis/ranked-deficiencty-chart/ranked-deficiencty-chart.component.html deleted file mode 100644 index 454fd71fb6..0000000000 --- a/CSETWebNg/src/app/assessment/results/cis/ranked-deficiencty-chart/ranked-deficiencty-chart.component.html +++ /dev/null @@ -1,55 +0,0 @@ - -
-
-
-
-
-
-
-
-
-

“0” = BASELINE

-

The baseline is denoted at the median which is represented by the zero “0” value on the chart.

-
-
-
-
-

RED BAR

-

The Deficiency report shows the current CIS assessment deficiencies in red using the baseline - assessment selected during the CIS Configuration Step.

-
-
-
-
-

GREEN BAR

-

The Deficiency report shows the current CIS assessment improvements in green using the baseline - assessment selected during the CIS Configuration Step.

-
-
-
-
- -
- No baseline assessment has been selected to compare against -
\ No newline at end of file diff --git a/CSETWebNg/src/app/assessment/results/cis/ranked-deficiencty-chart/ranked-deficiencty-chart.component.spec.ts b/CSETWebNg/src/app/assessment/results/cis/ranked-deficiencty-chart/ranked-deficiencty-chart.component.spec.ts deleted file mode 100644 index 901945c208..0000000000 --- a/CSETWebNg/src/app/assessment/results/cis/ranked-deficiencty-chart/ranked-deficiencty-chart.component.spec.ts +++ /dev/null @@ -1,48 +0,0 @@ -//////////////////////////////// -// -// Copyright 2024 Battelle Energy Alliance, LLC -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -//////////////////////////////// -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { RankedDeficienctyChartComponent } from './ranked-deficiencty-chart.component'; - -describe('RankedDeficienctyChartComponent', () => { - let component: RankedDeficienctyChartComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [RankedDeficienctyChartComponent] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(RankedDeficienctyChartComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency-chart/ranked-deficiency-chart.component.html b/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency-chart/ranked-deficiency-chart.component.html new file mode 100644 index 0000000000..44f53de49f --- /dev/null +++ b/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency-chart/ranked-deficiency-chart.component.html @@ -0,0 +1,67 @@ + +
+
+
+
+
+
+ +
+ {{t('reports.core.cis.deficiencies.no baseline')}} +
+ +
+
+
+
+
+

“0” = BASELINE

+

The baseline is denoted at the median which is represented by the zero “0” value on the + chart. +

+
+
+
+
+

RED BAR

+

The Deficiency report shows the current CIS assessment deficiencies in red using the baseline + assessment selected during the CIS Configuration Step.

+
+
+
+
+

GREEN BAR

+

The Deficiency report shows the current CIS assessment improvements in green using the + baseline + assessment selected during the CIS Configuration Step.

+
+
+
+
+
+ +
+ {{rankedChart}} +
+
\ No newline at end of file diff --git a/CSETWebNg/src/app/assessment/results/cis/ranked-deficiencty-chart/ranked-deficiencty-chart.component.scss b/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency-chart/ranked-deficiency-chart.component.scss similarity index 100% rename from CSETWebNg/src/app/assessment/results/cis/ranked-deficiencty-chart/ranked-deficiencty-chart.component.scss rename to CSETWebNg/src/app/assessment/results/cis/ranked-deficiency-chart/ranked-deficiency-chart.component.scss diff --git a/CSETWebNg/src/app/assessment/results/cis/ranked-deficiencty-chart/ranked-deficiencty-chart.component.ts b/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency-chart/ranked-deficiency-chart.component.ts similarity index 81% rename from CSETWebNg/src/app/assessment/results/cis/ranked-deficiencty-chart/ranked-deficiencty-chart.component.ts rename to CSETWebNg/src/app/assessment/results/cis/ranked-deficiency-chart/ranked-deficiency-chart.component.ts index 05832de658..717d37b766 100644 --- a/CSETWebNg/src/app/assessment/results/cis/ranked-deficiencty-chart/ranked-deficiencty-chart.component.ts +++ b/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency-chart/ranked-deficiency-chart.component.ts @@ -27,12 +27,12 @@ import Chart from 'chart.js/auto'; import { CisService } from '../../../../services/cis.service'; @Component({ - selector: 'app-ranked-deficiencty-chart', - templateUrl: './ranked-deficiencty-chart.component.html', - styleUrls: ['./ranked-deficiencty-chart.component.scss', '../../../../reports/reports.scss'] + selector: 'app-ranked-deficiency-chart', + templateUrl: './ranked-deficiency-chart.component.html', + styleUrls: ['./ranked-deficiency-chart.component.scss', '../../../../reports/reports.scss'] }) -export class RankedDeficienctyChartComponent implements AfterViewInit { +export class RankedDeficiencyChartComponent implements AfterViewInit { rankedChart: Chart; loading = true; @@ -48,17 +48,17 @@ export class RankedDeficienctyChartComponent implements AfterViewInit { if (this.cisSvc.hasBaseline()) { this.hasBaseline = true; this.cisSvc.getDeficiencyData().subscribe((data: any) => { - data.option = { options: false }; var opts = { scales: { x: { position: 'top', min: -100, max: 100 }, x1: { position: 'bottom', min: -100, max: 100 } } }; - this.rankedChart = this.chartSvc.buildHorizBarChart('ranked-deficiency', data, false, false, opts, false); + setTimeout(() => { + this.rankedChart = this.chartSvc.buildHorizBarChart('canvas-ranked-deficiency', data, false, false, opts, false); + this.loading = false; + }, 1000); - this.loading = false; }); } else { this.hasBaseline = false; this.loading = false; } } - } diff --git a/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency/ranked-deficiency.component.html b/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency/ranked-deficiency.component.html index f6df3ec143..0dc4b74bb8 100644 --- a/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency/ranked-deficiency.component.html +++ b/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency/ranked-deficiency.component.html @@ -20,11 +20,13 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------> -
+
-

CIS Deficiencies

- +

{{t('reports.core.cis.deficiencies.title')}}

+ + +
diff --git a/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency/ranked-deficiency.component.spec.ts b/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency/ranked-deficiency.component.spec.ts deleted file mode 100644 index 60f8b23c75..0000000000 --- a/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency/ranked-deficiency.component.spec.ts +++ /dev/null @@ -1,48 +0,0 @@ -//////////////////////////////// -// -// Copyright 2024 Battelle Energy Alliance, LLC -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. -// -//////////////////////////////// -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { RankedDeficiencyComponent } from './ranked-deficiency.component'; - -describe('RankedDeficiencyComponent', () => { - let component: RankedDeficiencyComponent; - let fixture: ComponentFixture; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [RankedDeficiencyComponent] - }) - .compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(RankedDeficiencyComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency/ranked-deficiency.component.ts b/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency/ranked-deficiency.component.ts index 3b54d6902a..cdf43ad2fe 100644 --- a/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency/ranked-deficiency.component.ts +++ b/CSETWebNg/src/app/assessment/results/cis/ranked-deficiency/ranked-deficiency.component.ts @@ -38,5 +38,4 @@ export class RankedDeficiencyComponent implements OnInit { ngOnInit(): void { this.hasBaseline = this.cisSvc.hasBaseline(); } - } diff --git a/CSETWebNg/src/app/assessment/results/cis/section-scoring/section-scoring.component.html b/CSETWebNg/src/app/assessment/results/cis/section-scoring/section-scoring.component.html index 2622dcd2e0..a420ae435a 100644 --- a/CSETWebNg/src/app/assessment/results/cis/section-scoring/section-scoring.component.html +++ b/CSETWebNg/src/app/assessment/results/cis/section-scoring/section-scoring.component.html @@ -20,10 +20,15 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------> -
+
-

CIS Section Scoring

+

{{t('reports.core.cis.section scoring.title')}}

+ +

+ {{t('reports.core.cis.section scoring.para 1')}} +

+
diff --git a/CSETWebNg/src/app/reports/cis/cis-ranked-deficiency/cis-ranked-deficiency.component.html b/CSETWebNg/src/app/reports/cis/cis-ranked-deficiency/cis-ranked-deficiency.component.html index 39c7c1bd1b..39b0ed5c5d 100644 --- a/CSETWebNg/src/app/reports/cis/cis-ranked-deficiency/cis-ranked-deficiency.component.html +++ b/CSETWebNg/src/app/reports/cis/cis-ranked-deficiency/cis-ranked-deficiency.component.html @@ -38,7 +38,7 @@

CIS Deficiencies

- +
\ No newline at end of file diff --git a/CSETWebNg/src/app/reports/edm/edm-summary-results/edm-summary-results.component.html b/CSETWebNg/src/app/reports/edm/edm-summary-results/edm-summary-results.component.html index bd63f59da0..8ab2a924ab 100644 --- a/CSETWebNg/src/app/reports/edm/edm-summary-results/edm-summary-results.component.html +++ b/CSETWebNg/src/app/reports/edm/edm-summary-results/edm-summary-results.component.html @@ -20,23 +20,28 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------> -
-

Summary Results

-
+
+

{{t('reports.core.edm.summary results')}}

-
- Percentage of Complete Practices by MIL -
+

+ {{t('reports.core.edm.para 1')}} +

+ +

+ {{t('reports.core.edm.para 2')}} +

+ +
Legend
-
+
 
-
+
 
@@ -53,7 +58,8 @@

Summary Results

-
+ +
@@ -229,10 +235,11 @@

Summary Results

+
-
Maturity Indicator Level *
+
{{t('reports.core.edm.maturity indicator level')}}
-
Your Organization
+
{{t('reports.core.edm.your org')}}
.
@@ -250,17 +257,5 @@

Summary Results

-
- Maturity Indicator Levels provide a combined measurement of the completeness of EDM practices, as well as the - enterprise management - activities necessary to ensure that this capability is sustained over time, despite disruptions or organizational - changes. The MIL scale is - cumulative; each MIL level must be complete before achieving a higher MIL is possible. Viewed collectively, these - depictions provide an - understanding of overall performance. While achieving a certain Maturity Indicator Level is one possible process - improvement objective, it may - not be the most importantobjective for every organization or in every context. -
- \ No newline at end of file diff --git a/CSETWebNg/src/app/reports/edm/edm-summary-results/edm-summary-results.component.scss b/CSETWebNg/src/app/reports/edm/edm-summary-results/edm-summary-results.component.scss index d6dc469b1f..53cbb43351 100644 --- a/CSETWebNg/src/app/reports/edm/edm-summary-results/edm-summary-results.component.scss +++ b/CSETWebNg/src/app/reports/edm/edm-summary-results/edm-summary-results.component.scss @@ -26,44 +26,49 @@ SOFTWARE. flex-direction: column; width: 100%; } + .mat-indic-lvl-title { font-size: 18px; font-weight: 700; margin-bottom: 1.2em; } -.mat-indic-lvl-body{ + +.mat-indic-lvl-body { width: 100%; - display:flex; + display: flex; flex-direction: row; - padding-right:16px; + padding-right: 16px; } .mat-indic-lvl-body-label { width: 250px; display: flex; } + .mat-indic-lvl-body-data { display: flex; flex-grow: 1; flex-direction: column; } -.mat-indic-lvl-body-graph-container{ +.mat-indic-lvl-body-graph-container { margin-bottom: 2em; display: flex; } -.mat-indic-lvl-body-graph-bar{ - display:flex; - background-color: rgb(75,103,176); - color: rgba(75,103,176,0); + +.mat-indic-lvl-body-graph-bar { + display: flex; + background-color: rgb(75, 103, 176); + color: rgba(75, 103, 176, 0); } -.mat-indic-lvl-body-graph-labels{ +.mat-indic-lvl-body-graph-labels { display: flex; flex-direction: row; margin: 0 -32px; } -.mat-indic-lvl-body-graph-labels div{ + +.mat-indic-lvl-body-graph-labels div { display: flex; width: 12.5%; justify-content: center; @@ -76,7 +81,8 @@ SOFTWARE. font-size: 10px; line-height: 18px; } -:host{ + +:host { --sr-axis-width: 410px; --sr-arrow-size: 28px; --sr-col-one-width: 5em; @@ -93,172 +99,199 @@ SOFTWARE. .sr-title-container { width: 40%; } + .sr-title { font-size: 1.2em; font-weight: 600; } -.sr-subtitle{ + +.sr-subtitle { font-family: 1em; } -.sr-legend{ - margin-left:25%; + +.sr-legend { display: flex; flex-direction: row; font-size: .75em; } -.sr-legend-column{ + +.sr-legend-column { display: flex; flex-direction: column; - padding-left:5px; + padding-left: 5px; } -.sr-legend-cell{ + +.sr-legend-cell { display: flex; margin: 0 2px 2px; } -.sr-percent-graph-bar{ - background-color: rgb(125,37,125); +.sr-percent-graph-bar { + background-color: rgb(125, 37, 125); animation: progressBar 2s ease-in-out; - animation-fill-mode:both; + animation-fill-mode: both; border-radius: 4px; margin-left: 3%; } @keyframes progressBar { - 0% { width: 0; } + 0% { + width: 0; + } } -.sr-body-axis-container{ +.sr-body-axis-container { flex-direction: row-reverse; width: 100%; } -.sr-body-axis{ - display:flex; + +.sr-body-axis { + display: flex; flex-direction: row; justify-content: flex-end; width: var(--sr-axis-width); margin-left: auto; font-size: .75em; } -.sr-body-axis-cell:not(:last-child){ + +.sr-body-axis-cell:not(:last-child) { flex-grow: 1; } -.sr-body-axis-cell:last-child{ + +.sr-body-axis-cell:last-child { flex-grow: 0; } -.sr-body-container{ +.sr-body-container { display: flex; flex-direction: column; margin-bottom: 2em; } -.sr-body{ - width:100%; + +.sr-body { + width: 100%; display: flex; flex-direction: row; border-top: solid 2px black; border-bottom: solid 2px black; margin-top: 8px; } -.sr-body-col-one{ + +.sr-body-col-one { display: flex; width: var(--sr-col-one-width); flex-direction: column; } -.sr-body-col-two{ + +.sr-body-col-two { width: calc(100% - var(--sr-col-one-width)); display: flex; flex-grow: 1; flex-direction: column; } -.sr-mil-1-text{ - display:flex; + +.sr-mil-1-text { + display: flex; margin: 6px 0; font-weight: 700; - font-size:14px; + font-size: 14px; } -.sr-body-text{ - display:flex; + +.sr-body-text { + display: flex; margin: 6px 0; font-weight: 700; - font-size:14px; - width:9em; + font-size: 14px; + width: 9em; } -.sr-body-subtext{ - display:flex; + +.sr-body-subtext { + display: flex; margin: -4px 0px 6px 0; font-weight: 700; - font-size:10px; + font-size: 10px; } -.sr-body-col-two{ + +.sr-body-col-two { display: flex; flex-direction: column; } -.sr-body-mil-one{ + +.sr-body-mil-one { flex-direction: row; display: flex; flex-grow: 1; } -.sr-body-mil-two-five{ + +.sr-body-mil-two-five { flex-direction: column; display: flex; flex-grow: 1; } -.sr-body-mil-one-labels{ + +.sr-body-mil-one-labels { flex-direction: row; - display:flex; + display: flex; } -.sr-body-mil-one-arrow{ + +.sr-body-mil-one-arrow { display: flex; flex-direction: column; height: 100%; } -.sr-body-label{ + +.sr-body-label { display: flex; - flex-direction: column; + flex-direction: column; } -.sr-body-mil-one-data-row .sr-body-label{ + +.sr-body-mil-one-data-row .sr-body-label { display: flex; - flex-direction: column; + flex-direction: column; padding-left: 1em; width: 9em; - max-width:580px; + max-width: 580px; } -.sr-body-mil-two-to-five-data-row{ + +.sr-body-mil-two-to-five-data-row { display: flex; - flex-direction: row; + flex-direction: row; border-top: solid black 2px; } -.sr-body-mil-one-text{ +.sr-body-mil-one-text { display: flex; width: 45px; flex-direction: column; } -.sr-body-mil-one-bar-container{ + +.sr-body-mil-one-bar-container { display: flex; width: var(--sr-axis-width); margin-left: auto; height: 1.5em; margin-top: 10px; } -.sr-body-mil-one-bar{ - display:flex; + +.sr-body-mil-one-bar { + display: flex; } -.sr-body-mil-one-data{ + +.sr-body-mil-one-data { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; margin: 1em 0px; } -.sr-body-mil-one-data-row{ - display:flex; + +.sr-body-mil-one-data-row { + display: flex; flex-direction: row; } -.sr-arrow-body{ +.sr-arrow-body { font-size: 12px; background-color: #bfbfbf; display: flex; @@ -271,16 +304,17 @@ SOFTWARE. margin-left: calc(var(--sr-arrow-size) / 2); padding-left: var(--sr-arrow-size) 5px; } -.sr-arrow-tip{ + +.sr-arrow-tip { width: 0; height: 0; border-left: var(--sr-arrow-size) solid transparent; border-right: var(--sr-arrow-size) solid transparent; - border-top: var(--sr-arrow-size) solid rgb(191,191,191); + border-top: var(--sr-arrow-size) solid rgb(191, 191, 191); } .mat-indic-lvl-body-graph-bar { animation: progressBar 2s ease-in-out !important; - animation-fill-mode:both !important; + animation-fill-mode: both !important; border-radius: 4px !important; } \ No newline at end of file diff --git a/CSETWebNg/src/app/reports/edm/edm-summary-results/edm-summary-results.component.ts b/CSETWebNg/src/app/reports/edm/edm-summary-results/edm-summary-results.component.ts index eacdddcf02..8b27d3c906 100644 --- a/CSETWebNg/src/app/reports/edm/edm-summary-results/edm-summary-results.component.ts +++ b/CSETWebNg/src/app/reports/edm/edm-summary-results/edm-summary-results.component.ts @@ -28,7 +28,7 @@ import { MaturityService } from '../../../services/maturity.service'; @Component({ selector: 'app-edm-summary-results', templateUrl: './edm-summary-results.component.html', - styleUrls: ['./edm-summary-results.component.scss', '../../reports.scss'] + styleUrls: ['./edm-summary-results.component.scss'] }) export class EdmSummaryResultsComponent implements OnInit { diff --git a/CSETWebNg/src/assets/i18n/reports/en.json b/CSETWebNg/src/assets/i18n/reports/en.json index 9d041e25f6..dadb5025c7 100644 --- a/CSETWebNg/src/assets/i18n/reports/en.json +++ b/CSETWebNg/src/assets/i18n/reports/en.json @@ -668,6 +668,13 @@ } } }, + "edm": { + "summary results": "Summary Results", + "para 1": "This chart displays the percentage of completed EDM practices for each Maturity Indicator Level (MIL) and provides an overview of the organization’s performance. The organization’s current MIL is listed below the chart. It’s important to note that the MIL scale is cumulative; to achieve a desired level, an organization must meet all the requirements for the previous levels and the desired level itself.", + "para 2": "This information helps organizations identify any areas for improvement to reach their targeted MIL. For more information about MILs, view the EDM Tutorial within the Prepare section.", + "maturity indicator level": "Maturity Indicator Level", + "your org": "Your Organization" + }, "rra": { "report title": "RRA Report", "tab title": "Ransomware Readiness Assessment", @@ -730,6 +737,16 @@ "no comments": "There are no {{questionsAliasLower}} with comments", "other remarks": "Other Remarks" } + }, + "cis": { + "section scoring": { + "title": "CIS Section Scoring", + "para 1": "This page displays a series of charts illustrating the score earned by each section. This data helps organizations identify their strengths and pinpoint areas for improvement. If a baseline survey was selected on the Critical Service Information page, the corresponding baseline scores will also display in the charts. This allows organizations to benchmark their progress toward meeting the compliance standards evaluated in the assessment." + }, + "deficiencies": { + "title": "CIS Deficiencies", + "no baseline": "No baseline assessment has been selected to compare against." + } } }, "acet": { diff --git a/CSETWebNg/src/assets/i18n/reports/es.json b/CSETWebNg/src/assets/i18n/reports/es.json index 2571a9b983..2c1871f245 100644 --- a/CSETWebNg/src/assets/i18n/reports/es.json +++ b/CSETWebNg/src/assets/i18n/reports/es.json @@ -327,6 +327,13 @@ } } }, + "edm": { + "summary results": "Resultados resumidos", + "para 1": "Este gráfico muestra el porcentaje de prácticas EDM completadas para cada Nivel de Indicador de Madurez (MIL) y proporciona una visión general del rendimiento de la organización. El MIL actual de la organización se encuentra listado debajo del gráfico. Es importante destacar que la escala MIL es acumulativa; para alcanzar un nivel deseado, una organización debe cumplir con todos los requisitos de los niveles anteriores y del nivel deseado en sí.", + "para 2": "Esta información ayuda a las organizaciones a identificar áreas de mejora para alcanzar su MIL objetivo. Para obtener más información sobre los MIL, consulte el Tutorial de EDM en la sección de Preparación.", + "maturity indicator level": "Nivel de Indicador de Madurez (MIL)", + "your org": "Su organización" + }, "rra": { "report title": "Informe RRA", "tab title": "Informe de Evaluación de Preparación para Ransomware (RRA)", @@ -393,6 +400,16 @@ "no comments": "No hay {{questionsAliasLower}} con comentarios", "other remarks": "Otras notas" } + }, + "cis": { + "section scoring": { + "title": "Puntuación de Secciónes CIS", + "para 1": "Esta página muestra una serie de gráficos que ilustran la puntuación obtenida por cada sección. Estos datos ayudan a las organizaciones a identificar sus fortalezas y a señalar áreas de mejora. Si se seleccionó una encuesta de referencia en la página de Información Crítica del Servicio, las puntuaciones de referencia correspondientes también se mostrarán en los gráficos. Esto permite a las organizaciones comparar su progreso hacia el cumplimiento de los estándares evaluados en la evaluación." + }, + "deficiencies": { + "title": "Deficiencias CIS", + "no baseline": "No se ha seleccionado una evaluación de referencia para comparar." + } } }, "acet": {