11import { Component , OnInit } from '@angular/core' ;
22import { ymlService } from '../../service/yaml-parser/yaml-parser.service' ;
33import { MatTableDataSource } from '@angular/material/table' ;
4- import { COMMA , ENTER , T } from '@angular/cdk/keycodes' ;
4+ import { COMMA , ENTER } from '@angular/cdk/keycodes' ;
55import { ElementRef , ViewChild } from '@angular/core' ;
66import { FormControl } from '@angular/forms' ;
77import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete' ;
@@ -31,6 +31,13 @@ export interface MappingElementSortedByISO {
3131 subDimension : string ;
3232 taskName : string ;
3333 samm2 :string [ ] ;
34+ description :string ;
35+ risk :string ;
36+ measure :string ;
37+ knowledge :string ;
38+ resources :string ;
39+ time :string ;
40+ usefulness :string ;
3441}
3542
3643
@@ -63,6 +70,10 @@ export class MappingComponent implements OnInit {
6370 allDimensionNames :string [ ] = [ ] ;
6471 temporaryMappingElement :any
6572
73+ //labels
74+ knowledgeLabels : string [ ] = [ ]
75+ generalLabels : string [ ] = [ ]
76+
6677 separatorKeysCodes : number [ ] = [ ENTER , COMMA ] ;
6778 FilterCtrl = new FormControl ( '' ) ;
6879 SortCtrl = new FormControl ( '' ) ;
@@ -80,6 +91,14 @@ export class MappingComponent implements OnInit {
8091 }
8192
8293 ngOnInit ( ) : void {
94+ //gets value from meta folder
95+ this . yaml . setURI ( './assets/YAML/meta.yaml' ) ;
96+ // Function sets label data
97+ this . yaml . getJson ( ) . subscribe ( ( data ) => {
98+ //console.log(data)
99+ this . knowledgeLabels = data [ 'strings' ] [ 'en' ] [ 'KnowledgeLabels' ]
100+ this . generalLabels = data [ 'strings' ] [ 'en' ] [ 'labels' ]
101+ } )
83102 //gets value from generated folder
84103 this . yaml . setURI ( './assets/YAML/generated/generated.yaml' ) ;
85104 // Function sets data
@@ -157,7 +176,53 @@ export class MappingComponent implements OnInit {
157176 setValueandAppendToDatasetandSortbyISO ( dim :string , subDim :string , task :string ) {
158177 var ISOArray :string [ ] = this . YamlObject [ dim ] [ subDim ] [ task ] [ 'references' ] [ 'iso27001-2017' ]
159178 var SAMMArray :string [ ] = this . YamlObject [ dim ] [ subDim ] [ task ] [ 'references' ] [ 'samm2' ]
160- this . temporaryMappingElement = { "dimension" :dim , "subDimension" :subDim , "taskName" :task , "ISO" :"" , "samm2" :SAMMArray }
179+ try {
180+ var CurrentDescription :string = this . YamlObject [ dim ] [ subDim ] [ task ] [ 'description' ]
181+ }
182+ catch {
183+ var CurrentDescription :string = ""
184+ }
185+ try {
186+ var CurrentRisk :string = this . YamlObject [ dim ] [ subDim ] [ task ] [ 'risk' ]
187+ }
188+ catch {
189+ var CurrentRisk :string = ""
190+ }
191+ try {
192+ var CurrentMeasure :string = this . YamlObject [ dim ] [ subDim ] [ task ] [ 'measure' ]
193+ }
194+ catch {
195+ var CurrentMeasure :string = ""
196+ }
197+ try {
198+ var CurrentKnowledge :string = this . knowledgeLabels [ this . YamlObject [ dim ] [ subDim ] [ task ] [ 'difficultyOfImplementation' ] [ 'knowledge' ] ]
199+
200+ }
201+ catch {
202+ var CurrentKnowledge :string = ""
203+ }
204+ try {
205+
206+ var CurrentTime :string = this . generalLabels [ this . YamlObject [ dim ] [ subDim ] [ task ] [ 'difficultyOfImplementation' ] [ 'time' ] ]
207+ }
208+ catch {
209+ var CurrentTime :string = ""
210+ }
211+ try {
212+ var CurrentResources :string = this . generalLabels [ this . YamlObject [ dim ] [ subDim ] [ task ] [ 'difficultyOfImplementation' ] [ 'resources' ] ]
213+ }
214+ catch {
215+ var CurrentResources :string = ""
216+ }
217+ try {
218+ var CurrentUsefulness :string = this . generalLabels [ this . YamlObject [ dim ] [ subDim ] [ task ] [ 'usefulness' ] ]
219+ }
220+ catch {
221+ var CurrentUsefulness :string = ""
222+ }
223+ this . temporaryMappingElement = { "dimension" :dim , "subDimension" :subDim , "taskName" :task , "ISO" :"" , "samm2" :SAMMArray ,
224+ description :CurrentDescription , risk :CurrentRisk , measure :CurrentMeasure , knowledge :CurrentKnowledge , time :CurrentTime ,
225+ resources :CurrentResources , usefulness :CurrentUsefulness }
161226 if ( ISOArray . length == 0 ) {
162227 this . allMappingDataSortedByISO . push ( this . temporaryMappingElement )
163228 if ( this . YamlObject [ dim ] [ subDim ] [ task ] [ 'isImplemented' ] ) {
@@ -313,14 +378,15 @@ export class MappingComponent implements OnInit {
313378
314379 exportToExcel ( ) {
315380 /* passing the table id */
316- let element = document . getElementById ( "excel-table" ) ;
317- const ws : XLSX . WorkSheet = XLSX . utils . table_to_sheet ( element ) ;
381+ // let element = document.getElementById("excel-table");
382+ // const ws: XLSX.WorkSheet =XLSX.utils.table_to_sheet(element);
318383
319384 /* generate workbook and add the worksheet */
320- const wb : XLSX . WorkBook = XLSX . utils . book_new ( ) ;
321- XLSX . utils . book_append_sheet ( wb , ws , "Sheet1" ) ;
385+ // const wb: XLSX.WorkBook = XLSX.utils.book_new();
386+ // XLSX.utils.book_append_sheet(wb, ws, "Sheet1");
322387
323388 /* save to file */
324- XLSX . writeFile ( wb , "Planned-Activities-Sorted-By-ISO.xlsx" ) ;
389+ //XLSX.writeFile(wb, "Planned-Activities-Sorted-By-ISO.xlsx");
390+ console . log ( this . allMappingDataSortedByISO )
325391 }
326392}
0 commit comments