diff --git a/CSETWebApi/CSETWeb_Api/CSETWebCore.Business/Maturity/MaturityBusiness.cs b/CSETWebApi/CSETWeb_Api/CSETWebCore.Business/Maturity/MaturityBusiness.cs index fbb94057e8..857c3ffcae 100644 --- a/CSETWebApi/CSETWeb_Api/CSETWebCore.Business/Maturity/MaturityBusiness.cs +++ b/CSETWebApi/CSETWeb_Api/CSETWebCore.Business/Maturity/MaturityBusiness.cs @@ -624,10 +624,10 @@ public int GetMaturityLevel(int assessmentId) } - - - - + /// + /// + /// + /// public AVAILABLE_MATURITY_MODELS ProcessModelDefaults(int assessmentId, int maturityModelId = 3) { //if the available maturity model is not selected and the application is CSET @@ -671,6 +671,7 @@ public object GetEdmPercentScores(int assessmentId) }; } + /// /// /// diff --git a/CSETWebNg/package-lock.json b/CSETWebNg/package-lock.json index 9511c1a7f8..31a9e2cd4e 100644 --- a/CSETWebNg/package-lock.json +++ b/CSETWebNg/package-lock.json @@ -9,7 +9,7 @@ "version": "12.3.0", "license": "MIT", "dependencies": { - "@angular-devkit/build-webpack": "^0.1802.9", + "@angular-devkit/build-webpack": "^0.1802.11", "@angular-devkit/schematics": "^18.2.10", "@angular-eslint/schematics": "^18.4.0", "@angular-slider/ngx-slider": "^18.0.0", @@ -20,7 +20,7 @@ "@angular/compiler": "^18.2.9", "@angular/core": "^18.2.9", "@angular/elements": "^18.2.11", - "@angular/forms": "^18.2.9", + "@angular/forms": "^18.2.11", "@angular/material": "^18.2.10", "@angular/platform-browser": "^18.2.9", "@angular/platform-browser-dynamic": "^18.2.9", @@ -61,7 +61,7 @@ "pdfmake": "^0.2.14", "rxjs": "^7.8.1", "sanitize-html": "^2.13.0", - "sass": "^1.80.1", + "sass": "^1.80.6", "screenfull": "^5.2.0", "style-loader": "^4.0.0", "swiper": "^8.4.7", @@ -268,6 +268,25 @@ } } }, + "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/build-webpack": { + "version": "0.1802.10", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.10.tgz", + "integrity": "sha512-WRftK/RJ9rBDDmkx5IAtIpyNo0DJiMfgGUTuZNpNUaJfSfGeaSZYgC7o1++axMchID8pncmI3Hr8L8gaP94WQg==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1802.10", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0", + "webpack-dev-server": "^5.0.2" + } + }, "node_modules/@angular-devkit/build-angular/node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -528,12 +547,11 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1802.10", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.10.tgz", - "integrity": "sha512-WRftK/RJ9rBDDmkx5IAtIpyNo0DJiMfgGUTuZNpNUaJfSfGeaSZYgC7o1++axMchID8pncmI3Hr8L8gaP94WQg==", - "license": "MIT", + "version": "0.1802.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1802.11.tgz", + "integrity": "sha512-G76rNsyn1iQk7qjyr+K4rnDzfalmEswmwXQorypSDGaHYzIDY1SZXMoP4225WMq5fJNBOJrk82FA0PSfnPE+zQ==", "dependencies": { - "@angular-devkit/architect": "0.1802.10", + "@angular-devkit/architect": "0.1802.11", "rxjs": "7.8.1" }, "engines": { @@ -546,6 +564,46 @@ "webpack-dev-server": "^5.0.2" } }, + "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": { + "version": "0.1802.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.11.tgz", + "integrity": "sha512-p+XIc/j51aI83ExNdeZwvkm1F4wkuKMGUUoj0MVUUi5E6NoiMlXYm6uU8+HbRvPBzGy5+3KOiGp3Fks0UmDSAA==", + "dependencies": { + "@angular-devkit/core": "18.2.11", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/core": { + "version": "18.2.11", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.11.tgz", + "integrity": "sha512-H9P1shRGigORWJHUY2BRa2YurT+DVminrhuaYHsbhXBRsPmgB2Dx/30YLTnC1s5XmR9QIRUCsg/d3kyT1wd5Zg==", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.2", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^18.19.1 || ^20.11.1 || >=22.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, "node_modules/@angular-devkit/core": { "version": "18.2.10", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.10.tgz", @@ -954,10 +1012,9 @@ } }, "node_modules/@angular/forms": { - "version": "18.2.9", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.9.tgz", - "integrity": "sha512-yyN5dG60CXH6MRte8rv4aGUTeNOMz/pUV7rVxittpjN7tPHfGEL9Xz89Or90Aa1QiHuBmHFk+9A39s03aO1rDQ==", - "license": "MIT", + "version": "18.2.11", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-18.2.11.tgz", + "integrity": "sha512-QjxayOxDTqsTJGBzfWd3nms1LZIXj2f1+wIPxxUNXyNS5ZaM7hBWkz2BTFYeewlD/HdNj0alNVCYK3M8ElLWYw==", "dependencies": { "tslib": "^2.3.0" }, @@ -965,9 +1022,9 @@ "node": "^18.19.1 || ^20.11.1 || >=22.0.0" }, "peerDependencies": { - "@angular/common": "18.2.9", - "@angular/core": "18.2.9", - "@angular/platform-browser": "18.2.9", + "@angular/common": "18.2.11", + "@angular/core": "18.2.11", + "@angular/platform-browser": "18.2.11", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -5087,6 +5144,7 @@ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", "license": "MIT", + "optional": true, "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", @@ -5360,6 +5418,7 @@ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", "license": "Apache-2.0", + "optional": true, "bin": { "detect-libc": "bin/detect-libc.js" }, @@ -5371,7 +5430,8 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", @@ -14515,12 +14575,10 @@ } }, "node_modules/sass": { - "version": "1.80.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.4.tgz", - "integrity": "sha512-rhMQ2tSF5CsuuspvC94nPM9rToiAFw2h3JTrLlgmNw1MH79v8Cr3DH6KF6o6r+8oofY3iYVPUf66KzC8yuVN1w==", - "license": "MIT", + "version": "1.80.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.6.tgz", + "integrity": "sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==", "dependencies": { - "@parcel/watcher": "^2.4.1", "chokidar": "^4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" @@ -14530,6 +14588,9 @@ }, "engines": { "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, "node_modules/sass-loader": { diff --git a/CSETWebNg/package.json b/CSETWebNg/package.json index c38eebe4c2..7c5f2dfbf7 100644 --- a/CSETWebNg/package.json +++ b/CSETWebNg/package.json @@ -16,7 +16,7 @@ "setup:electron-build-files": "shx rm -rf temp-electron && shx mkdir -p temp-electron/node_modules && shx cp -r {package.json,main-electron.js,License.txt,NOTICE.txt,dist} temp-electron && shx cp -r node_modules/{electron-log,electron-find-on-page,lodash} temp-electron/node_modules" }, "dependencies": { - "@angular-devkit/build-webpack": "^0.1802.9", + "@angular-devkit/build-webpack": "^0.1802.11", "@angular-devkit/schematics": "^18.2.10", "@angular-eslint/schematics": "^18.4.0", "@angular-slider/ngx-slider": "^18.0.0", @@ -27,7 +27,7 @@ "@angular/compiler": "^18.2.9", "@angular/core": "^18.2.9", "@angular/elements": "^18.2.11", - "@angular/forms": "^18.2.9", + "@angular/forms": "^18.2.11", "@angular/material": "^18.2.10", "@angular/platform-browser": "^18.2.9", "@angular/platform-browser-dynamic": "^18.2.9", @@ -68,7 +68,7 @@ "pdfmake": "^0.2.14", "rxjs": "^7.8.1", "sanitize-html": "^2.13.0", - "sass": "^1.80.1", + "sass": "^1.80.6", "screenfull": "^5.2.0", "style-loader": "^4.0.0", "swiper": "^8.4.7", diff --git a/CSETWebNg/src/app/app-routing.module.ts b/CSETWebNg/src/app/app-routing.module.ts index 8057039d79..62cbae3865 100644 --- a/CSETWebNg/src/app/app-routing.module.ts +++ b/CSETWebNg/src/app/app-routing.module.ts @@ -238,6 +238,7 @@ import { TutorialMvraComponent } from './assessment/prepare/maturity/tutorial-mv import { AllAnsweredquestionsComponent } from './reports/all-answeredquestions/all-answeredquestions.component'; import { AllCommentsmarkedComponent } from './reports/all-commentsmarked/all-commentsmarked.component'; import { AllReviewedComponent } from './reports/all-reviewed/all-reviewed.component'; +import { Cmmc2LevelsComponent } from './assessment/prepare/maturity/cmmc2-levels/cmmc2-levels.component'; const appRoutes: Routes = [ @@ -409,6 +410,7 @@ const appRoutes: Routes = [ }, { path: 'config-cis', component: ConfigCisComponent }, { path: 'cmmc-levels', component: CmmcLevelsComponent }, + { path: 'cmmc2-levels', component: Cmmc2LevelsComponent }, { path: 'csi', component: CsiComponent }, { path: 'sal', component: SalsComponent }, { path: 'standards', component: StandardsComponent }, diff --git a/CSETWebNg/src/app/app.module.ts b/CSETWebNg/src/app/app.module.ts index 151bb9f36c..803fbdc067 100644 --- a/CSETWebNg/src/app/app.module.ts +++ b/CSETWebNg/src/app/app.module.ts @@ -283,6 +283,7 @@ import { CompareReportMComponent } from './reports/compare-report-m/compare-repo import { AwwaStandardComponent } from './assessment/prepare/standards/awwa-standard/awwa-standard.component'; import { ModelSelectComponent } from './assessment/prepare/maturity/model-select/model-select.component'; import { CmmcLevelsComponent } from './assessment/prepare/maturity/cmmc-levels/cmmc-levels.component'; +import { Cmmc2LevelsComponent } from './assessment/prepare/maturity/cmmc2-levels/cmmc2-levels.component'; import { CmmcAComponent } from './assessment/prepare/maturity/cmmc-a/cmmc-a.component'; import { CategoryBlockComponent } from './assessment/questions/category-block/category-block.component'; import { MaturityQuestionsComponent } from './assessment/questions/maturity-questions/maturity-questions.component'; @@ -829,6 +830,7 @@ import { RolesChangedComponent } from './dialogs/roles-changed/roles-changed.com AssessmentConfigComponent, CmmcAComponent, CmmcLevelsComponent, + Cmmc2LevelsComponent, CmmcLevelResultsComponent, CmmcLevelDrilldownComponent, CmmcComplianceComponent, diff --git a/CSETWebNg/src/app/assessment/prepare/maturity/cmmc-levels/cmmc-levels.component.html b/CSETWebNg/src/app/assessment/prepare/maturity/cmmc-levels/cmmc-levels.component.html index ebead83fb0..f78ff49898 100644 --- a/CSETWebNg/src/app/assessment/prepare/maturity/cmmc-levels/cmmc-levels.component.html +++ b/CSETWebNg/src/app/assessment/prepare/maturity/cmmc-levels/cmmc-levels.component.html @@ -20,8 +20,8 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --------------------------> -
-

CMMC Target Level Selection

+
+

{{t('titles.cmmc target level selection')}}

Select the desired maturity level. Selecting a level will include diff --git a/CSETWebNg/src/app/assessment/prepare/maturity/cmmc2-levels/cmmc2-levels.component.html b/CSETWebNg/src/app/assessment/prepare/maturity/cmmc2-levels/cmmc2-levels.component.html new file mode 100644 index 0000000000..75f3a601bf --- /dev/null +++ b/CSETWebNg/src/app/assessment/prepare/maturity/cmmc2-levels/cmmc2-levels.component.html @@ -0,0 +1,94 @@ + +

+

{{t('titles.cmmc target level selection')}}

+ +

+ Select the level appropriate to your organization's assessment. +

+ +
+
+ +
+
+ Foundational. Level 1 is comprised of the 15 basic safeguarding requirements specified in Federal + Acquisition Regulation + (FAR) Clause 52.204-21. Level 1 is achievable by self-assessment. +
+
+ +
+ +
+
+ +
+
+

+ Advanced. Consists of 110 practices aligned with NIST SP 800-171. Requires annual self-assessment + for select contractors or triennial third-party assessments for critical national security projects. + + The advanced level will calculate a scorecard with the Supplier Performance Risk System (SPRS) + score. +

+

+ Level 2 can be used for a self-assessment or a certification assessment. It incorporates + the security requirements specified in NIST SP 800-171 Revision 2. +

+
+
+ +
+ +
+
+ +
+
+

+ Level 3 consists of selected security requirements derived from National Institute of Standards and + Technology (NIST) Special Publication (SP) 800-172, +

+

+ Level 3 only applies to systems that have already achieved a Final Level 2 (C3PAO) CMMC Status. +

+
+
+ + + + +
\ No newline at end of file diff --git a/CSETWebNg/src/app/assessment/prepare/maturity/cmmc2-levels/cmmc2-levels.component.scss b/CSETWebNg/src/app/assessment/prepare/maturity/cmmc2-levels/cmmc2-levels.component.scss new file mode 100644 index 0000000000..e0727af56c --- /dev/null +++ b/CSETWebNg/src/app/assessment/prepare/maturity/cmmc2-levels/cmmc2-levels.component.scss @@ -0,0 +1,63 @@ +/* Answer option button styles */ +$white: #ffffff; + +$l1-color: #921285; +$l1-hover-color: #490943; +$l1-text-color: #ffffff; + +$l2-color: #8cc63f; +$l2-hover-color: #69952f; +$l2-text-color: #000000; + +$l3-color: #034b61; +$l3-hover-color: #002236; +$l3-text-color: #ffffff; + +.btn-l1 { + background-color: $white; + border-color: $l1-color; + color: $l1-color; +} + +.btn-l1.answer-selected, +.btn-l1:hover { + background-color: $l1-color; + color: $l1-text-color; +} + +.btn-l1.answer-selected:hover { + background-color: $l1-hover-color; +} + +.btn-l2 { + background-color: $white; + border-color: $l2-color; + color: $l2-color; +} + +.btn-l2.answer-selected, +.btn-l2:hover { + background-color: $l2-color; + color: $l2-text-color; +} + +.btn-l2.answer-selected:hover { + background-color: $l2-hover-color; +} + + +.btn-l3 { + background-color: $white; + border-color: $l3-color; + color: $l3-color; +} + +.btn-l3.answer-selected, +.btn-l3:hover { + background-color: $l3-color; + color: $l3-text-color; +} + +.btn-l3.answer-selected:hover { + background-color: $l3-hover-color; +} \ No newline at end of file diff --git a/CSETWebNg/src/app/assessment/prepare/maturity/cmmc2-levels/cmmc2-levels.component.ts b/CSETWebNg/src/app/assessment/prepare/maturity/cmmc2-levels/cmmc2-levels.component.ts new file mode 100644 index 0000000000..88a1093428 --- /dev/null +++ b/CSETWebNg/src/app/assessment/prepare/maturity/cmmc2-levels/cmmc2-levels.component.ts @@ -0,0 +1,49 @@ +import { Component } from '@angular/core'; +import { NavigationService } from '../../../../services/navigation/navigation.service'; +import { MaturityService } from '../../../../services/maturity.service'; +import { AssessmentService } from '../../../../services/assessment.service'; +import { MaturityLevel } from '../../../../models/maturity.model'; + +@Component({ + selector: 'app-cmmc2-levels', + templateUrl: './cmmc2-levels.component.html', + styleUrls: ['./cmmc2-levels.component.scss'] +}) +export class Cmmc2LevelsComponent { + + selectedLevel: number; + + constructor ( + public assessSvc: AssessmentService, + public maturitySvc: MaturityService, + public navSvc: NavigationService + ) { } + + + /** + * + */ + ngOnInit() { + if (this.assessSvc.assessment == null) { + this.assessSvc.getAssessmentDetail().subscribe((data: any) => { + this.assessSvc.assessment = data; + this.selectedLevel = this.assessSvc.assessment.maturityModel.maturityTargetLevel; + }); + } else { + this.selectedLevel = +this.assessSvc.assessment.maturityModel.maturityTargetLevel; + } + } + + /** + * + */ + saveLevel(selection: number) { + this.selectedLevel = selection; + + this.maturitySvc.saveLevel(selection).subscribe(() => { + // refresh Prepare section of the sidenav + this.navSvc.buildTree(); + return; + }); + } +} diff --git a/CSETWebNg/src/app/assessment/questions/grouping-block/grouping-block.component.ts b/CSETWebNg/src/app/assessment/questions/grouping-block/grouping-block.component.ts index 1b8015fccd..60e6e3215a 100644 --- a/CSETWebNg/src/app/assessment/questions/grouping-block/grouping-block.component.ts +++ b/CSETWebNg/src/app/assessment/questions/grouping-block/grouping-block.component.ts @@ -100,7 +100,7 @@ export class GroupingBlockComponent implements OnInit { return false; } - return this.moduleBehavior.showDomainHeaders ?? true; + return this.moduleBehavior?.showDomainHeaders ?? true; } /** diff --git a/CSETWebNg/src/app/assessment/questions/maturity-questions/maturity-questions.component.ts b/CSETWebNg/src/app/assessment/questions/maturity-questions/maturity-questions.component.ts index 5ac0e360eb..493465dcd6 100644 --- a/CSETWebNg/src/app/assessment/questions/maturity-questions/maturity-questions.component.ts +++ b/CSETWebNg/src/app/assessment/questions/maturity-questions/maturity-questions.component.ts @@ -282,7 +282,7 @@ export class MaturityQuestionsComponent implements OnInit, AfterViewInit { let displayName = this.modelName; - if (this.moduleBehavior.displayNameKey != null) { + if (this.moduleBehavior?.displayNameKey != null) { displayName = this.tSvc.translate(this.moduleBehavior.displayNameKey); } diff --git a/CSETWebNg/src/app/assessment/questions/question-extras/question-extras.component.ts b/CSETWebNg/src/app/assessment/questions/question-extras/question-extras.component.ts index 3250f446ce..307e34fefc 100644 --- a/CSETWebNg/src/app/assessment/questions/question-extras/question-extras.component.ts +++ b/CSETWebNg/src/app/assessment/questions/question-extras/question-extras.component.ts @@ -197,7 +197,7 @@ export class QuestionExtrasComponent implements OnInit { } }); - if (this.extras.is_Component === true) { + if (this.extras?.is_Component) { this.myQuestion.is_Component = true; this.toggleComponent = true; } diff --git a/CSETWebNg/src/app/assessment/results/reports/key-report/key-report.component.ts b/CSETWebNg/src/app/assessment/results/reports/key-report/key-report.component.ts index cf2f70a46f..9d911dd42f 100644 --- a/CSETWebNg/src/app/assessment/results/reports/key-report/key-report.component.ts +++ b/CSETWebNg/src/app/assessment/results/reports/key-report/key-report.component.ts @@ -4,12 +4,8 @@ import { AuthenticationService } from '../../../../services/authentication.servi import { ConfigService } from '../../../../services/config.service'; import { AssessmentDetail } from '../../../../models/assessment-info.model'; import { Demographic } from '../../../../models/assessment-info.model'; - -import pdfMake from 'pdfmake/build/pdfmake'; -import pdfFonts from 'pdfmake/build/vfs_fonts'; import { DemographicService } from '../../../../services/demographic.service'; import { ActivatedRoute } from '@angular/router'; -pdfMake.vfs = pdfFonts.pdfMake.vfs; @Component({ selector: 'app-key-report', diff --git a/CSETWebNg/src/app/initial/search-page/search-page.component.ts b/CSETWebNg/src/app/initial/search-page/search-page.component.ts index ccf18a34ca..6c46ff32a6 100644 --- a/CSETWebNg/src/app/initial/search-page/search-page.component.ts +++ b/CSETWebNg/src/app/initial/search-page/search-page.component.ts @@ -260,9 +260,10 @@ export class SearchPageComponent implements OnInit, AfterViewInit { onHoverOut(i: number, cardId: number) { this.hoverIndex = i; - - var el = document.getElementById('c' + cardId.toString()).parentElement; - el.style.removeProperty('right'); + if (document.getElementById('c' + cardId.toString())) { + var el = document.getElementById('c' + cardId.toString()).parentElement; + el.style.removeProperty('right'); + } } getImageSrc(src: string) { diff --git a/CSETWebNg/src/app/layout/layout-main/layout-main.component.scss b/CSETWebNg/src/app/layout/layout-main/layout-main.component.scss index 2fddcb3533..17f4327fac 100644 --- a/CSETWebNg/src/app/layout/layout-main/layout-main.component.scss +++ b/CSETWebNg/src/app/layout/layout-main/layout-main.component.scss @@ -2879,6 +2879,20 @@ table.assessment-documents th { color: $primary-550; } +ol.alpha-bracket { + list-style-type: none; + counter-reset: list-counter; +} + +ol.alpha-bracket li { + counter-increment: list-counter; + margin-bottom: 5px; +} + +ol.alpha-bracket li::before { + content: "[" counter(list-counter, lower-alpha) "] "; +} + /// nested formatting .nested-question-title { diff --git a/CSETWebNg/src/app/services/filtering/maturity-filtering/maturity-filtering.service.ts b/CSETWebNg/src/app/services/filtering/maturity-filtering/maturity-filtering.service.ts index 83195c0f3d..4ac547fdfb 100644 --- a/CSETWebNg/src/app/services/filtering/maturity-filtering/maturity-filtering.service.ts +++ b/CSETWebNg/src/app/services/filtering/maturity-filtering/maturity-filtering.service.ts @@ -272,23 +272,29 @@ export class MaturityFilteringService { case 'ACET': this.acetFilteringSvc.setQuestionVisibility(q, this.currentDomainName); break; + case 'ISE': this.acetFilteringSvc.setIseQuestionVisibility(q, this.currentDomainName); break; + case 'CMMC': case 'CMMC2': + case 'CMMC2F': this.cmmcFilteringSvc.setQuestionVisibility(q); break; case 'EDM': this.edmFilteringSvc.setQuestionVisibility(q); break; + case 'CRR': this.crrFilteringSvc.setQuestionVisibility(q); break; + case 'RRA': this.rraFilteringSvc.setQuestionVisibility(q); break; + default: this.basicFilteringSvc.setQuestionVisibility(q); } diff --git a/CSETWebNg/src/assets/i18n/en.json b/CSETWebNg/src/assets/i18n/en.json index 347600eac7..d5ea99cdf0 100644 --- a/CSETWebNg/src/assets/i18n/en.json +++ b/CSETWebNg/src/assets/i18n/en.json @@ -236,6 +236,7 @@ "none": "None" } }, + "cmmc target level selection": "CMMC Target Level Selection", "network diagram": "Network Diagram", "diagram component questions": "Diagram Component Questions", "standard questions": "Standard Questions", @@ -422,7 +423,9 @@ "fi-c2m2": "FI", "li-c2m2": "LI", "pi-c2m2": "PI", - "ni-c2m2": "NI" + "ni-c2m2": "NI", + "yes-cmmc": "Met", + "no-cmmc": "Not" }, "button-tooltips": { "yes": "Yes", @@ -445,7 +448,9 @@ "fi-c2m2": "Fully Implemented - Complete", "li-c2m2": "Largely Implemented - Complete, but with a recognized opportunity for improvement", "pi-c2m2": "Partially Implemented - Incomplete; there are multiple opportunities for improvement", - "ni-c2m2": "Not Implemented - Absent; the practice is not performed by the organization" + "ni-c2m2": "Not Implemented - Absent; the practice is not performed by the organization", + "yes-cmmc": "Met", + "no-cmmc": "Not Met" }, "labels": { "yes": "Yes", diff --git a/CSETWebNg/src/assets/i18n/es.json b/CSETWebNg/src/assets/i18n/es.json index efe57d5993..00b9cf3789 100644 --- a/CSETWebNg/src/assets/i18n/es.json +++ b/CSETWebNg/src/assets/i18n/es.json @@ -232,6 +232,7 @@ "vh": "Muy Alto" } }, + "cmmc target level selection": "Selección del nivel objetivo de CMMC", "network diagram": "Diagrama de red", "diagram component questions": "Preguntas del diagrama", "standard questions": "Preguntas del estándar", @@ -341,7 +342,9 @@ "fi-c2m2": "FI", "li-c2m2": "LI", "pi-c2m2": "PI", - "ni-c2m2": "NI" + "ni-c2m2": "NI", + "yes-cmmc": "Cump", + "no-cmmc": "No" }, "button-tooltips": { "yes": "Sí", @@ -363,7 +366,9 @@ "fi-c2m2": "[ES] Fully Implemented - Complete", "li-c2m2": "[ES] Largely Implemented - Complete, but with a recognized opportunity for improvement", "pi-c2m2": "[ES] Partially Implemented - Incomplete; there are multiple opportunities for improvement", - "ni-c2m2": "[ES] Not Implemented - Absent; the practice is not performed by the organization" + "ni-c2m2": "[ES] Not Implemented - Absent; the practice is not performed by the organization", + "yes-cmmc": "Cumplido", + "no-cmmc": "No cumplido" }, "labels": { "yes": "Sí", diff --git a/CSETWebNg/src/assets/i18n/uk.json b/CSETWebNg/src/assets/i18n/uk.json index 35f773e090..c33c568c8b 100644 --- a/CSETWebNg/src/assets/i18n/uk.json +++ b/CSETWebNg/src/assets/i18n/uk.json @@ -171,6 +171,7 @@ "vh": "Дуже високо" } }, + "cmmc target level selection": "Вибір цільового рівня CMMC", "network diagram": "мережева схема", "diagram component questions": "Питання компонентів діаграми", "standard questions": "Стандартні запитання", @@ -314,7 +315,9 @@ "fi-c2m2": "FI", "li-c2m2": "LI", "pi-c2m2": "PI", - "ni-c2m2": "NI" + "ni-c2m2": "NI", + "yes-cmmc": "Так", + "no-cmmc": "Немає" }, "button-tooltips": { "yes": "Так", @@ -337,7 +340,9 @@ "fi-c2m2": "Повністю реалізовано - Завершено", "li-c2m2": "В основному реалізовано - Завершено, але існує визнана можливість для вдосконалення", "pi-c2m2": "Частково реалізовано - Незавершено; існує кілька можливостей для вдосконалення", - "ni-c2m2": "Не реалізовано - Відсутнє; практика не виконується організацією" + "ni-c2m2": "Не реалізовано - Відсутнє; практика не виконується організацією", + "yes-cmmc": "Так", + "no-cmmc": "Немає" }, "labels": { "yes": "Так", @@ -448,6 +453,11 @@ "mil-3": "MIL-3", "mil-4": "MIL-4", "mil-5": "MIL-5", + "level 1": "Рівень 1", + "level 2": "Рівень 2", + "level 3": "Рівень 3", + "level 4": "Рівень 4", + "level 5": "Рівень 5", "overall": "Загалом" }, "irp": {}, diff --git a/CSETWebNg/src/assets/images/cards/ACET_V1.png b/CSETWebNg/src/assets/images/cards/acet_v1.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/ACET_V1.png rename to CSETWebNg/src/assets/images/cards/acet_v1.png diff --git a/CSETWebNg/src/assets/images/cards/APTA_Rail_V1.png b/CSETWebNg/src/assets/images/cards/apta_rail_v1.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/APTA_Rail_V1.png rename to CSETWebNg/src/assets/images/cards/apta_rail_v1.png diff --git a/CSETWebNg/src/assets/images/cards/AWWA.png b/CSETWebNg/src/assets/images/cards/awwa.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/AWWA.png rename to CSETWebNg/src/assets/images/cards/awwa.png diff --git a/CSETWebNg/src/assets/images/cards/C2M2_V11.png b/CSETWebNg/src/assets/images/cards/c2m2_v11.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/C2M2_V11.png rename to CSETWebNg/src/assets/images/cards/c2m2_v11.png diff --git a/CSETWebNg/src/assets/images/cards/C800_171.png b/CSETWebNg/src/assets/images/cards/c800_171.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/C800_171.png rename to CSETWebNg/src/assets/images/cards/c800_171.png diff --git a/CSETWebNg/src/assets/images/cards/C800_53_R3.png b/CSETWebNg/src/assets/images/cards/c800_53_r3.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/C800_53_R3.png rename to CSETWebNg/src/assets/images/cards/c800_53_r3.png diff --git a/CSETWebNg/src/assets/images/cards/C800_53_R4_71.png b/CSETWebNg/src/assets/images/cards/c800_53_r4_71.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/C800_53_R4_71.png rename to CSETWebNg/src/assets/images/cards/c800_53_r4_71.png diff --git a/CSETWebNg/src/assets/images/cards/C800_53_R4_App_J.png b/CSETWebNg/src/assets/images/cards/c800_53_r4_app_j.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/C800_53_R4_App_J.png rename to CSETWebNg/src/assets/images/cards/c800_53_r4_app_j.png diff --git a/CSETWebNg/src/assets/images/cards/C800_53_R5.png b/CSETWebNg/src/assets/images/cards/c800_53_r5.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/C800_53_R5.png rename to CSETWebNg/src/assets/images/cards/c800_53_r5.png diff --git a/CSETWebNg/src/assets/images/cards/C800_82.png b/CSETWebNg/src/assets/images/cards/c800_82.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/C800_82.png rename to CSETWebNg/src/assets/images/cards/c800_82.png diff --git a/CSETWebNg/src/assets/images/cards/C800_82_V1.png b/CSETWebNg/src/assets/images/cards/c800_82_v1.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/C800_82_V1.png rename to CSETWebNg/src/assets/images/cards/c800_82_v1.png diff --git a/CSETWebNg/src/assets/images/cards/CCI_V2.png b/CSETWebNg/src/assets/images/cards/cci_v2.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CCI_V2.png rename to CSETWebNg/src/assets/images/cards/cci_v2.png diff --git a/CSETWebNg/src/assets/images/cards/CIS.png b/CSETWebNg/src/assets/images/cards/cis.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CIS.png rename to CSETWebNg/src/assets/images/cards/cis.png diff --git a/CSETWebNg/src/assets/images/cards/CJIS_V5.8.png b/CSETWebNg/src/assets/images/cards/cjis_v5.8.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CJIS_V5.8.png rename to CSETWebNg/src/assets/images/cards/cjis_v5.8.png diff --git a/CSETWebNg/src/assets/images/cards/CMMC.png b/CSETWebNg/src/assets/images/cards/cmmc.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CMMC.png rename to CSETWebNg/src/assets/images/cards/cmmc.png diff --git a/CSETWebNg/src/assets/images/cards/CMMC2.png b/CSETWebNg/src/assets/images/cards/cmmc2.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CMMC2.png rename to CSETWebNg/src/assets/images/cards/cmmc2.png diff --git a/CSETWebNg/src/assets/images/cards/Cnssi_1253.png b/CSETWebNg/src/assets/images/cards/cnssi_1253.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/Cnssi_1253.png rename to CSETWebNg/src/assets/images/cards/cnssi_1253.png diff --git a/CSETWebNg/src/assets/images/cards/Cnssi_Ics_V1.png b/CSETWebNg/src/assets/images/cards/cnssi_ics_v1.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/Cnssi_Ics_V1.png rename to CSETWebNg/src/assets/images/cards/cnssi_ics_v1.png diff --git a/CSETWebNg/src/assets/images/cards/Cor_7.png b/CSETWebNg/src/assets/images/cards/cor_7.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/Cor_7.png rename to CSETWebNg/src/assets/images/cards/cor_7.png diff --git a/CSETWebNg/src/assets/images/cards/CRR.png b/CSETWebNg/src/assets/images/cards/crr.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CRR.png rename to CSETWebNg/src/assets/images/cards/crr.png diff --git a/CSETWebNg/src/assets/images/cards/CSC_V6.png b/CSETWebNg/src/assets/images/cards/csc_v6.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSC_V6.png rename to CSETWebNg/src/assets/images/cards/csc_v6.png diff --git a/CSETWebNg/src/assets/images/cards/CSC_V8.png b/CSETWebNg/src/assets/images/cards/csc_v8.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSC_V8.png rename to CSETWebNg/src/assets/images/cards/csc_v8.png diff --git a/CSETWebNg/src/assets/images/cards/CSC_V8_IG1.png b/CSETWebNg/src/assets/images/cards/csc_v8_ig1.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSC_V8_IG1.png rename to CSETWebNg/src/assets/images/cards/csc_v8_ig1.png diff --git a/CSETWebNg/src/assets/images/cards/CSC_V8_IG2.png b/CSETWebNg/src/assets/images/cards/csc_v8_ig2.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSC_V8_IG2.png rename to CSETWebNg/src/assets/images/cards/csc_v8_ig2.png diff --git a/CSETWebNg/src/assets/images/cards/CSC_V8_IG3.png b/CSETWebNg/src/assets/images/cards/csc_v8_ig3.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSC_V8_IG3.png rename to CSETWebNg/src/assets/images/cards/csc_v8_ig3.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons (1)-64.png b/CSETWebNg/src/assets/images/cards/cseticons (1)-64.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons (1)-64.png rename to CSETWebNg/src/assets/images/cards/cseticons (1)-64.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons (1)-66.png b/CSETWebNg/src/assets/images/cards/cseticons (1)-66.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons (1)-66.png rename to CSETWebNg/src/assets/images/cards/cseticons (1)-66.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons (1)-68.png b/CSETWebNg/src/assets/images/cards/cseticons (1)-68.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons (1)-68.png rename to CSETWebNg/src/assets/images/cards/cseticons (1)-68.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons (1)-70.png b/CSETWebNg/src/assets/images/cards/cseticons (1)-70.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons (1)-70.png rename to CSETWebNg/src/assets/images/cards/cseticons (1)-70.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons-03.png b/CSETWebNg/src/assets/images/cards/cseticons-03.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons-03.png rename to CSETWebNg/src/assets/images/cards/cseticons-03.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons-18.png b/CSETWebNg/src/assets/images/cards/cseticons-18.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons-18.png rename to CSETWebNg/src/assets/images/cards/cseticons-18.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons-19.png b/CSETWebNg/src/assets/images/cards/cseticons-19.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons-19.png rename to CSETWebNg/src/assets/images/cards/cseticons-19.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons-40.png b/CSETWebNg/src/assets/images/cards/cseticons-40.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons-40.png rename to CSETWebNg/src/assets/images/cards/cseticons-40.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons-44.png b/CSETWebNg/src/assets/images/cards/cseticons-44.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons-44.png rename to CSETWebNg/src/assets/images/cards/cseticons-44.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons-47.png b/CSETWebNg/src/assets/images/cards/cseticons-47.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons-47.png rename to CSETWebNg/src/assets/images/cards/cseticons-47.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons-48.png b/CSETWebNg/src/assets/images/cards/cseticons-48.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons-48.png rename to CSETWebNg/src/assets/images/cards/cseticons-48.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons-50.png b/CSETWebNg/src/assets/images/cards/cseticons-50.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons-50.png rename to CSETWebNg/src/assets/images/cards/cseticons-50.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons-51.png b/CSETWebNg/src/assets/images/cards/cseticons-51.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons-51.png rename to CSETWebNg/src/assets/images/cards/cseticons-51.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons-57.png b/CSETWebNg/src/assets/images/cards/cseticons-57.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons-57.png rename to CSETWebNg/src/assets/images/cards/cseticons-57.png diff --git a/CSETWebNg/src/assets/images/cards/CSETIcons-64.png b/CSETWebNg/src/assets/images/cards/cseticons-64.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CSETIcons-64.png rename to CSETWebNg/src/assets/images/cards/cseticons-64.png diff --git a/CSETWebNg/src/assets/images/cards/CyberFlorida.png b/CSETWebNg/src/assets/images/cards/cyberflorida.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/CyberFlorida.png rename to CSETWebNg/src/assets/images/cards/cyberflorida.png diff --git a/CSETWebNg/src/assets/images/cards/Diagram.png b/CSETWebNg/src/assets/images/cards/diagram.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/Diagram.png rename to CSETWebNg/src/assets/images/cards/diagram.png diff --git a/CSETWebNg/src/assets/images/cards/Dod.png b/CSETWebNg/src/assets/images/cards/dod.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/Dod.png rename to CSETWebNg/src/assets/images/cards/dod.png diff --git a/CSETWebNg/src/assets/images/cards/DODI_8510.png b/CSETWebNg/src/assets/images/cards/dodi_8510.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/DODI_8510.png rename to CSETWebNg/src/assets/images/cards/dodi_8510.png diff --git a/CSETWebNg/src/assets/images/cards/DonvEY.png b/CSETWebNg/src/assets/images/cards/donvey.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/DonvEY.png rename to CSETWebNg/src/assets/images/cards/donvey.png diff --git a/CSETWebNg/src/assets/images/cards/DonvY1.png b/CSETWebNg/src/assets/images/cards/donvy1.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/DonvY1.png rename to CSETWebNg/src/assets/images/cards/donvy1.png diff --git a/CSETWebNg/src/assets/images/cards/DonvY2.png b/CSETWebNg/src/assets/images/cards/donvy2.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/DonvY2.png rename to CSETWebNg/src/assets/images/cards/donvy2.png diff --git a/CSETWebNg/src/assets/images/cards/DonvY3.png b/CSETWebNg/src/assets/images/cards/donvy3.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/DonvY3.png rename to CSETWebNg/src/assets/images/cards/donvy3.png diff --git a/CSETWebNg/src/assets/images/cards/EDM.png b/CSETWebNg/src/assets/images/cards/edm.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/EDM.png rename to CSETWebNg/src/assets/images/cards/edm.png diff --git a/CSETWebNg/src/assets/images/cards/FAA.png b/CSETWebNg/src/assets/images/cards/faa.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/FAA.png rename to CSETWebNg/src/assets/images/cards/faa.png diff --git a/CSETWebNg/src/assets/images/cards/FAA_MAINT.png b/CSETWebNg/src/assets/images/cards/faa_maint.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/FAA_MAINT.png rename to CSETWebNg/src/assets/images/cards/faa_maint.png diff --git a/CSETWebNg/src/assets/images/cards/FAA_PED_V2.png b/CSETWebNg/src/assets/images/cards/faa_ped_v2.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/FAA_PED_V2.png rename to CSETWebNg/src/assets/images/cards/faa_ped_v2.png diff --git a/CSETWebNg/src/assets/images/cards/HIPAA.png b/CSETWebNg/src/assets/images/cards/hipaa.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/HIPAA.png rename to CSETWebNg/src/assets/images/cards/hipaa.png diff --git a/CSETWebNg/src/assets/images/cards/INGAA.png b/CSETWebNg/src/assets/images/cards/ingaa.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/INGAA.png rename to CSETWebNg/src/assets/images/cards/ingaa.png diff --git a/CSETWebNg/src/assets/images/cards/ISA-62443.png b/CSETWebNg/src/assets/images/cards/isa-62443.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/ISA-62443.png rename to CSETWebNg/src/assets/images/cards/isa-62443.png diff --git a/CSETWebNg/src/assets/images/cards/ISA_62443_4_1.png b/CSETWebNg/src/assets/images/cards/isa_62443_4_1.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/ISA_62443_4_1.png rename to CSETWebNg/src/assets/images/cards/isa_62443_4_1.png diff --git a/CSETWebNg/src/assets/images/cards/ISE.png b/CSETWebNg/src/assets/images/cards/ise.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/ISE.png rename to CSETWebNg/src/assets/images/cards/ise.png diff --git a/CSETWebNg/src/assets/images/cards/NCSF_V1.png b/CSETWebNg/src/assets/images/cards/ncsf_v1.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/NCSF_V1.png rename to CSETWebNg/src/assets/images/cards/ncsf_v1.png diff --git a/CSETWebNg/src/assets/images/cards/NEI_0809.png b/CSETWebNg/src/assets/images/cards/nei_0809.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/NEI_0809.png rename to CSETWebNg/src/assets/images/cards/nei_0809.png diff --git a/CSETWebNg/src/assets/images/cards/Nerc_Cip_R3.png b/CSETWebNg/src/assets/images/cards/nerc_cip_r3.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/Nerc_Cip_R3.png rename to CSETWebNg/src/assets/images/cards/nerc_cip_r3.png diff --git a/CSETWebNg/src/assets/images/cards/Nerc_Cip_R4.png b/CSETWebNg/src/assets/images/cards/nerc_cip_r4.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/Nerc_Cip_R4.png rename to CSETWebNg/src/assets/images/cards/nerc_cip_r4.png diff --git a/CSETWebNg/src/assets/images/cards/Nerc_Cip_R5.png b/CSETWebNg/src/assets/images/cards/nerc_cip_r5.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/Nerc_Cip_R5.png rename to CSETWebNg/src/assets/images/cards/nerc_cip_r5.png diff --git a/CSETWebNg/src/assets/images/cards/NERC_CIP_R6.png b/CSETWebNg/src/assets/images/cards/nerc_cip_r6.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/NERC_CIP_R6.png rename to CSETWebNg/src/assets/images/cards/nerc_cip_r6.png diff --git a/CSETWebNg/src/assets/images/cards/NISTIR_7628.png b/CSETWebNg/src/assets/images/cards/nistir_7628.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/NISTIR_7628.png rename to CSETWebNg/src/assets/images/cards/nistir_7628.png diff --git a/CSETWebNg/src/assets/images/cards/NISTIR_7628_R1.png b/CSETWebNg/src/assets/images/cards/nistir_7628_r1.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/NISTIR_7628_R1.png rename to CSETWebNg/src/assets/images/cards/nistir_7628_r1.png diff --git a/CSETWebNg/src/assets/images/cards/Nrc_571.png b/CSETWebNg/src/assets/images/cards/nrc_571.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/Nrc_571.png rename to CSETWebNg/src/assets/images/cards/nrc_571.png diff --git a/CSETWebNg/src/assets/images/cards/PCIDSS.png b/CSETWebNg/src/assets/images/cards/pcidss.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/PCIDSS.png rename to CSETWebNg/src/assets/images/cards/pcidss.png diff --git a/CSETWebNg/src/assets/images/cards/RA2.png b/CSETWebNg/src/assets/images/cards/ra2.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/RA2.png rename to CSETWebNg/src/assets/images/cards/ra2.png diff --git a/CSETWebNg/src/assets/images/cards/RRA.png b/CSETWebNg/src/assets/images/cards/rra.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/RRA.png rename to CSETWebNg/src/assets/images/cards/rra.png diff --git a/CSETWebNg/src/assets/images/cards/SP800-82 V2.png b/CSETWebNg/src/assets/images/cards/sp800-82 v2.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/SP800-82 V2.png rename to CSETWebNg/src/assets/images/cards/sp800-82 v2.png diff --git a/CSETWebNg/src/assets/images/cards/SP800-82 V3.png b/CSETWebNg/src/assets/images/cards/sp800-82 v3.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/SP800-82 V3.png rename to CSETWebNg/src/assets/images/cards/sp800-82 v3.png diff --git a/CSETWebNg/src/assets/images/cards/Tsa.png b/CSETWebNg/src/assets/images/cards/tsa.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/Tsa.png rename to CSETWebNg/src/assets/images/cards/tsa.png diff --git a/CSETWebNg/src/assets/images/cards/TSA2018.png b/CSETWebNg/src/assets/images/cards/tsa2018.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/TSA2018.png rename to CSETWebNg/src/assets/images/cards/tsa2018.png diff --git a/CSETWebNg/src/assets/images/cards/VADR.png b/CSETWebNg/src/assets/images/cards/vadr.png similarity index 100% rename from CSETWebNg/src/assets/images/cards/VADR.png rename to CSETWebNg/src/assets/images/cards/vadr.png diff --git a/CSETWebNg/src/assets/navigation/workflow-omni.xml b/CSETWebNg/src/assets/navigation/workflow-omni.xml index 8a7ff95db9..b61aed12ce 100644 --- a/CSETWebNg/src/assets/navigation/workflow-omni.xml +++ b/CSETWebNg/src/assets/navigation/workflow-omni.xml @@ -82,7 +82,8 @@ - + + diff --git a/CSETWebNg/src/assets/settings/config.json b/CSETWebNg/src/assets/settings/config.json index f452882af8..2ffaac1a04 100644 --- a/CSETWebNg/src/assets/settings/config.json +++ b/CSETWebNg/src/assets/settings/config.json @@ -261,6 +261,26 @@ } ] }, + { + "moduleName": "CMMC2F", + "modelId": "19", + "questionIcons": { + "showDetails": false, + "showReviewed": false + }, + "answerOptions": [ + { + "code": "Y", + "buttonLabelKey": "yes-cmmc", + "buttonCss": "btn-yes" + }, + { + "code": "N", + "buttonLabelKey": "no-cmmc", + "buttonCss": "btn-no" + } + ] + }, { "moduleName": "C2M2", "modelId": "12",