Skip to content

Commit 2574d94

Browse files
committed
Added usefulness expansion in activiy description + full excel export for mapping section
1 parent d121765 commit 2574d94

File tree

4 files changed

+109
-13
lines changed

4 files changed

+109
-13
lines changed

src/app/component/mapping/mapping.component.html

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,27 @@
106106
<th>Dimension</th>
107107
<th>Sub Dimension</th>
108108
<th>Activity</th>
109+
<th>Description</th>
110+
<th>Risk</th>
111+
<th>Measure</th>
112+
<th>Knowledge</th>
113+
<th>Resources</th>
114+
<th>Time</th>
115+
<th>Usefulness</th>
109116
<th>SAMM</th>
110117
<th>ISO</th>
111118
</tr>
112-
<tr *ngFor="let item of performedMappingDataSortedByISO">
119+
<tr *ngFor="let item of allMappingDataSortedByISO">
113120
<td>{{item.dimension}}</td>
114121
<td>{{item.subDimension}}</td>
115122
<td>{{item.taskName}}</td>
123+
<td>{{item.description}}</td>
124+
<td>{{item.risk}}</td>
125+
<td>{{item.measure}}</td>
126+
<td>{{item.knowledge}}</td>
127+
<td>{{item.resources}}</td>
128+
<td>{{item.time}}</td>
129+
<td>{{item.usefulness}}</td>
116130
<td>{{item.samm2}}</td>
117131
<td>{{item.ISO}}</td>
118132
</tr>

src/app/component/mapping/mapping.component.ts

Lines changed: 73 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Component, OnInit } from '@angular/core';
22
import { ymlService } from '../../service/yaml-parser/yaml-parser.service';
33
import { MatTableDataSource } from '@angular/material/table';
4-
import {COMMA, ENTER, T} from '@angular/cdk/keycodes';
4+
import {COMMA, ENTER } from '@angular/cdk/keycodes';
55
import {ElementRef, ViewChild} from '@angular/core';
66
import {FormControl} from '@angular/forms';
77
import {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
}

src/app/component/task-description/task-description.component.html

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,16 @@ <h1>{{currentTask.dimension}} -> {{currentTask.subDimension}}: {{currentTask.tas
4444
</mat-panel-title>
4545
</mat-expansion-panel-header>
4646
<p>Knowledge: {{this.KnowledgeLabels[this.currentTask.knowledge]}} </p>
47-
<p>Time: {{this.TimeAndResourceLabels[this.currentTask.knowledge]}} </p>
48-
<p>Resources: {{this.TimeAndResourceLabels[this.currentTask.knowledge]}}</p>
47+
<p>Time: {{this.GeneralLabels[this.currentTask.time]}} </p>
48+
<p>Resources: {{this.GeneralLabels[this.currentTask.resources]}}</p>
49+
</mat-expansion-panel>
50+
<mat-expansion-panel *ngIf="currentTask.usefulness!=-1">
51+
<mat-expansion-panel-header>
52+
<mat-panel-title>
53+
<b>Usefulness</b>
54+
</mat-panel-title>
55+
</mat-expansion-panel-header>
56+
<p>{{this.GeneralLabels[this.currentTask.usefulness]}} </p>
4957
</mat-expansion-panel>
5058
<mat-expansion-panel>
5159
<mat-expansion-panel-header>

src/app/component/task-description/task-description.component.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export interface taskDescription {
2727
time:number
2828
dependsOn:string[]
2929
implementation:implementation[]
30+
usefulness:number
3031
}
3132

3233
@Component({
@@ -38,10 +39,10 @@ export class TaskDescriptionComponent implements OnInit {
3839

3940
currentTask: taskDescription={dimension:'',subDimension:'',level:'',taskName:'',description:'',risk:'',
4041
measure:'',implementatonGuide:'',samm:[''],iso:[''],knowledge:-1,resources:-1,
41-
time:-1,dependsOn:[], implementation:[]}
42+
time:-1,dependsOn:[], implementation:[],usefulness:-1}
4243

4344
YamlObject:any;
44-
TimeAndResourceLabels:string[]=[];
45+
GeneralLabels:string[]=[];
4546
KnowledgeLabels:string[]=[];
4647
rowIndex:number=0;
4748
markdown:md = md()
@@ -62,7 +63,7 @@ export class TaskDescriptionComponent implements OnInit {
6263
// Function sets label data
6364
this.yaml.getJson().subscribe((data) => {
6465
this.YamlObject = data;
65-
this.TimeAndResourceLabels=this.YamlObject['strings']['en']['labels']
66+
this.GeneralLabels=this.YamlObject['strings']['en']['labels']
6667
this.KnowledgeLabels=this.YamlObject['strings']['en']['KnowledgeLabels']
6768
})
6869
//gets value from generated folder
@@ -81,6 +82,13 @@ export class TaskDescriptionComponent implements OnInit {
8182
catch{
8283
console.log('Meta does not exist')
8384
}
85+
try{
86+
data['usefulness']
87+
this.currentTask.usefulness=this.defineIntegerValues(data['usefulness'],-1)
88+
}
89+
catch{
90+
console.log('Meta does not exist')
91+
}
8492
try{
8593
data['difficultyOfImplementation']
8694
this.currentTask.knowledge=this.defineIntegerValues(data['difficultyOfImplementation']['knowledge'],-1)

0 commit comments

Comments
 (0)