Skip to content

Commit 6bbfe25

Browse files
committed
Fixed parsing for Matrix Impementation and Task description for new YAML schema
1 parent d54db2d commit 6bbfe25

6 files changed

Lines changed: 4054 additions & 588 deletions

File tree

src/app/component/matrix/matrix.component.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,6 @@
2929
button{
3030
background-color: white;
3131
border: none;
32+
text-align: left;
3233
}
3334

src/app/component/matrix/matrix.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
<td mat-cell *matCellDef="let element">
5050
<ul>
5151
<li *ngFor="let task of element[lvl]; index as j" >
52-
<button (click)="navigate(element.Dimension,element.SubDimension,i+1,j)">
52+
<button (click)="navigate(element.Dimension,element.SubDimension,i+1,task)">
5353
{{task}}
5454
</button>
5555
</li>

src/app/component/matrix/matrix.component.ts

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export class MatrixComponent implements OnInit {
3737
allRows:string[]=[];
3838
dataSource:any= new MatTableDataSource<MatrixElement>(this.MATRIX_DATA);
3939
rowsCurrentlyBeingShown: string[] = [];
40-
40+
allDimensionNames:string[]=[];
4141
constructor(private yaml:ymlService,private router: Router) {
4242
this.filteredRows = this.rowCtrl.valueChanges.pipe(
4343
startWith(null),
@@ -68,34 +68,38 @@ export class MatrixComponent implements OnInit {
6868
// Function sets data
6969
this.yaml.getJson().subscribe((data) => {
7070
this.YamlObject = data;
71-
var len = this.YamlObject['dimension'].length;
72-
//console.log(this.YamlObject['dimension'][0]['subdimension']['level-1'])
73-
for(let i =0;i<len;i++){
74-
var temp = {Dimension:this.YamlObject['dimension'][i]['name'],
75-
SubDimension:this.YamlObject['dimension'][i]['subdimension']['name'],
76-
}
77-
//console.log(typeof(temp))
78-
for (let j = 0 ;j<this.levels.length; j++)
79-
{
80-
temp={
81-
...temp,
82-
[this.lvlColumn[j] as keyof MatrixElement]: []
71+
this.allDimensionNames= Object.keys(this.YamlObject)
72+
for(let i =0;i<this.allDimensionNames.length;i++){
73+
var subdimensionsInCurrentDimension = Object.keys(this.YamlObject[this.allDimensionNames[i]])
74+
for(let j=0;j<subdimensionsInCurrentDimension.length;j++){
75+
var temp = {Dimension:this.allDimensionNames[i],
76+
SubDimension:subdimensionsInCurrentDimension[j],
77+
}
78+
//console.log(typeof(temp))
79+
for (let k = 0 ;k<this.levels.length; k++){
80+
temp={
81+
...temp,
82+
[this.lvlColumn[k] as keyof MatrixElement]: []
83+
}
8384
}
84-
85-
var lvlTemp='level-'+(j+1)
86-
85+
var taskInCurrentSubDimension:string[]= Object.keys(this.YamlObject[this.allDimensionNames[i]][subdimensionsInCurrentDimension[j]])
86+
for(let a=0;a<taskInCurrentSubDimension.length;a++){
87+
var currentTaskName=taskInCurrentSubDimension[a]
8788
try{
88-
for(let k =0;k<this.YamlObject['dimension'][i]['subdimension'][lvlTemp].length;k++){
89-
temp[this.lvlColumn[j] as keyof MatrixElement].push(this.YamlObject['dimension'][i]['subdimension'][lvlTemp][k]['name'])
90-
//console.log(this.YamlObject['dimension'][i]['subdimension'][lvlTemp][k]['name'])
91-
}
89+
var lvlOfTask:number=this.YamlObject[this.allDimensionNames[i]][subdimensionsInCurrentDimension[j]][currentTaskName]['level']
90+
console.log(temp[this.lvlColumn[lvlOfTask-1] as keyof MatrixElement]);
91+
(temp[this.lvlColumn[lvlOfTask-1] as keyof MatrixElement] as unknown as string[]).push(currentTaskName)
9292
}
9393
catch{
94-
temp[this.lvlColumn[j] as keyof MatrixElement]=[]
94+
console.log("Level for task does not exist")
9595
}
96+
97+
//console.log(this.YamlObject['dimension'][i]['subdimension'][lvlTemp][k]['name'])
9698
}
97-
console.log(temp)
98-
this.MATRIX_DATA.push(temp)
99+
100+
console.log(temp)
101+
this.MATRIX_DATA.push(temp)
102+
}
99103
}
100104
this.dataSource.data = JSON.parse(JSON.stringify(this.MATRIX_DATA));
101105
this.createRowList();
@@ -163,13 +167,13 @@ export class MatrixComponent implements OnInit {
163167

164168
// task description routing + providing parameters
165169

166-
navigate(dim:string,subdim:string,lvl:Number,ti:Number) {
170+
navigate(dim:string,subdim:string,lvl:Number,taskName:string) {
167171
let navigationExtras: NavigationExtras = {
168172
queryParams: {
169173
dimension:dim,
170174
subDimension:subdim,
171175
level:lvl,
172-
taskIndex:ti
176+
taskName:taskName
173177
}
174178
}
175179
console.log(this.lvlColumn)

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<div class="content-box">
2-
<h1>{{currentTask.dimension}} -> {{currentTask.subDimension}}: Building and testing of artifacts in virtual environments</h1>
2+
<h1>{{currentTask.dimension}} -> {{currentTask.subDimension}}: {{currentTask.taskName}}</h1>
33
<div class="example-action-buttons">
44
<button mat-raised-button (click)="openall()" >Expand All</button>
55
<button mat-raised-button (click)="closeall()">Collapse All</button>

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

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export interface taskDescription {
1515
dimension:string
1616
subDimension:string
1717
level:string
18-
taskIndex:number
18+
taskName:string
1919
description:string
2020
risk: string[]
2121
measure: string
@@ -36,7 +36,7 @@ export interface taskDescription {
3636
})
3737
export class TaskDescriptionComponent implements OnInit {
3838

39-
currentTask: taskDescription={dimension:'',subDimension:'',level:'',taskIndex:-1,description:'',risk:[],
39+
currentTask: taskDescription={dimension:'',subDimension:'',level:'',taskName:'',description:'',risk:[],
4040
measure:'',implementatonGuide:'',samm:[''],iso:[''],knowledge:-1,resources:-1,
4141
time:-1,dependsOn:[], implementation:[]}
4242

@@ -53,30 +53,14 @@ export class TaskDescriptionComponent implements OnInit {
5353
this.currentTask.dimension=params['dimension'];
5454
this.currentTask.subDimension=params['subDimension'];
5555
this.currentTask.level="level-"+params['level'];
56-
this.currentTask.taskIndex=params['taskIndex'];
56+
this.currentTask.taskName=params['taskName'];
5757
});
5858
//gets value from generated folder
5959
this.yaml.setURI('./assets/YAML/generated/sample.yaml');
6060
// Function sets data
6161
this.yaml.getJson().subscribe((data) => {
62-
this.YamlObject = data;
63-
try{
64-
for(this.rowIndex=0;this.rowIndex<this.YamlObject['dimension'].length;this.rowIndex++){
65-
66-
if(!this.YamlObject['dimension'][this.rowIndex]['subdimension']['name']
67-
.localeCompare(this.currentTask.subDimension)){
68-
69-
break;
70-
}
71-
}
72-
}
73-
catch{
74-
console.log('Task does not exist!')
75-
}
76-
var data =this.YamlObject['dimension'][this.rowIndex]['subdimension']
77-
[this.currentTask.level][this.currentTask.taskIndex]
78-
79-
62+
this.YamlObject = data;
63+
var data =this.YamlObject[this.currentTask.dimension][this.currentTask.subDimension][this.currentTask.taskName]
8064
this.currentTask.description=this.defineStringValues(data['description'],'')
8165
this.currentTask.risk=this.defineStringArrayValues(data['risk'],[])
8266
this.currentTask.measure=this.defineStringValues(data['measure'],'')

0 commit comments

Comments
 (0)