У меня есть перечисление, указанное в Typcript:
enum PriorityLevel {
High = <any>'High',
Normal = <any>'Normal',
Low = <any>'Low'}
Тогда в моем html у меня есть:
<button id= "assignmentBtn" type="button" ng-repeat="item in list.getItems()" class="btn" ng-class="list.getcolor(item)">
{{item.description}}
</button>
Где каждый элемент имеет PriorityLevel.
Мой вопрос в том, что я хочу отсортировать этот список с помощью PriorityLevel, так что High находится сверху, затем Normal, а затем Low. Я попытался добавить
ng-repeat="item in list.getItems() | orderBy:'priority'"
Но, очевидно, это заказывает предметы в альпах.
Мне нужно, чтобы я сделал пользовательскую функцию orderby, но может ли кто-нибудь помочь мне в том, как это должно выглядеть в моем случае?
Мне нужно, чтобы я сделал пользовательскую функцию orderby, но может ли кто-нибудь помочь мне в том, как это должно выглядеть в моем случае?
Прямо к пользовательской функции в контроллере:
ng-repeat="item in list.getItems() | orderBy:list.customOrder"
И customOrder
:
customOrder = function(item) {
return item.priority === 'High' ? 3
: item.priority === 'Normal' ? 2
: 1
};