@@ -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 )
0 commit comments