Data Sample:
[{ 'ID': objectID(dcdj12),
'Deprt': 'IT',
'Employees': [ { 'ID': 3, 'StrtDT': '24-12-2022T08:30', 'flag': true },
{ 'ID': 2, 'StrtDT': '14-11-2021T08:30' 'flag': true },
{ 'ID': 1, 'StrtDT': '22-11-2020T08:30', 'flag': false }]
},
{ 'ID': objectID(dcdj132),
'Deprt': 'HR',
'Employees': [ { 'ID': 33, 'StrtDT': '24-12-2022T08:30', 'flag': false},
{ 'ID': 22, 'StrtDT': '14-11-2021T08:30' 'flag': true },
{ 'ID': 11, 'StrtDT': '22-11-2020T08:30', 'flag': false }]
},
{ 'ID': objectID(dcdj1321),'Deprt' : 'AC', 'Employees': []}... more thn 1000 ]
HTML code to show in table:
<tbody>
<ng-container *ngFor="let D of Deprt">
<tr *ngFor="let Emp of D.Employees" class="card-text">
<td> {{D.Deprt}} </td>
<td> {{Emp.ID}} </td>
<td> {{Emp.StrtDT}} </td>
<td> {{Emp.flag}} </td>
</tr>
</ng-container>
</tbody>
Current Output:
Deprt ID StrtDT flag
IT 3 24-12-2022T08:30 true
IT 2 14-11-2021T08:30 true
IT 1 22-11-2020T08:30 false
HR 33 24-12-2022T08:30 false
HR 22 14-11-2021T08:30 true
HR 11 22-11-2020T08:30 false
Expected Output:
Deprt ID StrtDT flag
IT 3 24-12-2022T08:30 true
IT 2 14-11-2021T08:30 true
HR 22 14-11-2021T08:30 true
HR 33 24-12-2022T08:30 false
IT 1 22-11-2020T08:30 false
HR 11 22-11-2020T08:30 false
Tried:
this.data.forEach(x=>{
console.log('c??',x)
x.Employees.sort((a:any,b:any)=>{ return a.StrtDT- b.StrtDT})})
Here I am looking for to sort first by flag and then by dates recent to old.
even, would like to consider any different approach to get desire output.