Why is it that sort function is working :
Transaction Date
-
The issue here is :
Nested property of object, orderBy must be providing the sorting on
the basis of first level of properties
I am considering, inner
should be look like this,
{
transaction_date : '10/12/2014'
user : {
name : 'something',
...
}
}
try to make this object like, take all sortable property on first level
( OR you must have to change the orderBy that way )
{
transaction_date : '10/12/2014'
user_name : 'something',
user : {
name : 'something',
...
}
}
And try.
<th (click)="sort('user_name')">
User <i class="fa" [ngClass]="{'fa-sort': column != 'user_name',
'fa-sort-asc': (column == 'user_name' && isDesc),
'fa-sort-desc': (column == 'user_name' && !isDesc) }"
aria-hidden="true">
</i>
</th>
Add records.map(record => record['user_name'] = record.user.name);
, to your transform
function , like this :
This will make the object as I suggested :
export class OrderByPipe implements PipeTransform {
transform(records: Array<any>, args?: any): any {
if(records && records.length >0 ){
records.map(record => record['user_name'] = record.user.name); // add here
return records.sort(function(a, b){
....
}
};
}
讨论(0)
- 热议问题