Оценка и сортировка функций шаблона ячейки UI-Grid
Я использую UI-Grid для отображения моих данных в таблице. В одном из столбцов у меня есть шаблон ячейки, в котором есть функция, которая оценивает то, что видит пользователь, являющийся задачей события. Функция принимает этот номер задачи события в качестве параметра и возвращает имя задачи события, которое отображается в таблице. Это нормально, проблема, с которой я столкнулся, заключается в попытке добавить алфавитную сортировку для событийной задачи, отображаемой в таблице. Я пытаюсь узнать, есть ли способ получить данные после их оценки и добавить встроенный в них интерфейс сортировки или создать собственный алгоритм сортировки. Вот мой код из службы таблиц:
var getTable = function ($ctrl) {
var gridOptions = {
flatEntityAccess: true,
rowHeight: 60,
enableVerticalScrollbar: 0,
enableSorting: true,
columnDefs: [
{
name: 'Event Task',
width: '*',
sortingAlgorithm: $ctrl.sortingScheduledDates(),
cellTemplate: '<div class="ui-grid-cell-contents ng-binding ng-scope" id="eventTask"><a href= "/bin/calendar">{{row.grid.appScope.$ctrl.getEventTypeName(row.entity.event_type)}}</a></div>'
},
Вот то, что я попытался до Алгоритма сортировки, расположенного в контроллере:
$ctrl.sortingScheduledDates = function(){
// _dashService.getFutureData($ctrl)
_dashService.main($ctrl.range)
.success(
function (data, status){
"use strict";
_.extend($ctrl, data);
$ctrl.eventNameValues = [];
$ctrl.futureEvents.forEach(function(item){
var futureEventType = item.event_type;
var eventNameKeys = Object.keys($ctrl.eventTypeNames)
// console.log($ctrl.eventTypeNames)
eventNameKeys.forEach(function(key){
if(futureEventType == key){
console.log($ctrl.eventTypeNames[key])
$ctrl.eventNameValues.push($ctrl.eventTypeNames[key])
}
})
$ctrl.eventNameValues.sort();
})
}
Вот функция, которая изменяет номер типа события на имя, также расположенное в контроллере:
$ctrl.getEventTypeName = function(eventType){
return $ctrl.eventTypeNames[eventType];
};
Что я не понимаю, так это документация по пользовательскому интерфейсу для создания пользовательской сортировки, поэтому, если у кого-то есть какие-либо предложения относительно того, где я могу найти четкое объяснение, это также будет полезно. Спасибо