Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

Commit 15da7cc

Browse files
rjenksgkalpak
authored andcommitted
docs(orderBy): improve sorting behaviour and move logic into the controller
Improve the sorting behaviour in the 2nd example: Clicking on an unsorted column sorts in ascending order, while clicking on a sorted column sorts in descending order. Also, add a simple sort indicator. Closes #11981
1 parent 34a6da2 commit 15da7cc

File tree

1 file changed

+27
-5
lines changed

1 file changed

+27
-5
lines changed

src/ng/filter/orderBy.js

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,19 +83,41 @@
8383
{name:'Mike', phone:'555-4321', age:21},
8484
{name:'Adam', phone:'555-5678', age:35},
8585
{name:'Julie', phone:'555-8765', age:29}];
86-
$scope.predicate = '-age';
86+
$scope.predicate = 'age';
87+
$scope.reverse = true;
88+
$scope.order = function(predicate) {
89+
$scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false;
90+
$scope.predicate = predicate;
91+
};
8792
}]);
8893
</script>
94+
<style type="text/css">
95+
SPAN.sortorder:after {
96+
content: '\25b2';
97+
}
98+
99+
SPAN.sortorder.reverse:after {
100+
content: '\25bc';
101+
}
102+
</style>
89103
<div ng-controller="ExampleController">
90104
<pre>Sorting predicate = {{predicate}}; reverse = {{reverse}}</pre>
91105
<hr/>
92106
[ <a href="" ng-click="predicate=''">unsorted</a> ]
93107
<table class="friend">
94108
<tr>
95-
<th><a href="" ng-click="predicate = 'name'; reverse=false">Name</a>
96-
(<a href="" ng-click="predicate = '-name'; reverse=false">^</a>)</th>
97-
<th><a href="" ng-click="predicate = 'phone'; reverse=!reverse">Phone Number</a></th>
98-
<th><a href="" ng-click="predicate = 'age'; reverse=!reverse">Age</a></th>
109+
<th>
110+
<a href="" ng-click="order('name')">Name</a>
111+
<span class="sortorder" ng-show="predicate === 'name'" ng-class="{reverse:reverse}"></span>
112+
</th>
113+
<th>
114+
<a href="" ng-click="order('phone')">Phone Number</a>
115+
<span class="sortorder" ng-show="predicate === 'phone'" ng-class="{reverse:reverse}"></span>
116+
</th>
117+
<th>
118+
<a href="" ng-click="order('age')">Age</a>
119+
<span class="sortorder" ng-show="predicate === 'age'" ng-class="{reverse:reverse}"></span>
120+
</th>
99121
</tr>
100122
<tr ng-repeat="friend in friends | orderBy:predicate:reverse">
101123
<td>{{friend.name}}</td>

0 commit comments

Comments
 (0)