Пользовательская сортировка с помощью директивы Angular DataTables
Я использую Angular DataTables в моем приложении. Пока все работает хорошо, кроме случаев, когда я пытаюсь добавить пользовательскую сортировку.
У меня есть набор данных, который возвращает дефис, "-", если нет данных. Вот моя функция сортировки:
$.fn.dataTableExt.oSort['nullable-asc'] = function(a,b) {
if (a == '-')
return 1;
else if (b == '-')
return -1;
else
{
var ia = parseInt(a);
var ib = parseInt(b);
return (ia<ib) ? -1 : ((ia > ib) ? 1 : 0);
}
}
$.fn.dataTableExt.oSort['nullable-desc'] = function(a,b) {
console.log(a,b)
if (a == '-')
return 1;
else if (b == '-')
return -1;
else
{
var ia = parseInt(a);
var ib = parseInt(b);
return (ia>ib) ? -1 : ((ia < ib) ? 1 : 0);
}
}
..start controller...
vm.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0).notSortable().withClass('hidden-print')
DTColumnDefBuilder.newColumnDef(1).withClass('td-fieldname'), //name
DTColumnDefBuilder.newColumnDef(2), //fieldType
DTColumnDefBuilder.newColumnDef(3).withOption('type', 'html-num-fmt'),
DTColumnDefBuilder.newColumnDef(4).notSortable(), //distribution
DTColumnDefBuilder.newColumnDef(5).withOption('type', 'html-num-fmt'), //cardinality
DTColumnDefBuilder.newColumnDef(6).withOption('type', 'nullable'), //Min
DTColumnDefBuilder.newColumnDef(7).withOption('type', 'nullable') //Max
];
...other angular code.....
Это прекрасно работает при использовании на стандартном столе, но не подходит для приложения Angular.
Когда я нажимаю на заголовок таблицы для сортировки - ничего не происходит. console.log
выше дает пустые значения. Есть ли способ использовать пользовательскую сортировку с помощью директивы Angular?