Skip to content

Commit d12b57a

Browse files
committed
Merge branch 'fix-unintentional-orderBy' of https://github.com/gempesaw/angular-tree-control into gempesaw-fix-unintentional-orderBy
2 parents 3d12414 + 5f20414 commit d12b57a

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

angular-tree-control.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,9 +149,10 @@
149149
};
150150

151151
//tree template
152+
var orderBy = $scope.orderBy ? ' | orderBy:orderBy:reverseOrder' : '';
152153
var template =
153154
'<ul '+classIfDefined($scope.options.injectClasses.ul, true)+'>' +
154-
'<li ng-repeat="node in node.' + $scope.options.nodeChildren + ' | filter:filterExpression:filterComparator | orderBy:orderBy:reverseOrder" ng-class="headClass(node)" '+classIfDefined($scope.options.injectClasses.li, true)+'>' +
155+
'<li ng-repeat="node in node.' + $scope.options.nodeChildren + ' | filter:filterExpression:filterComparator ' + orderBy + '" ng-class="headClass(node)" '+classIfDefined($scope.options.injectClasses.li, true)+'>' +
155156
'<i class="tree-branch-head" ng-class="iBranchClass()" ng-click="selectNodeHead(node)"></i>' +
156157
'<i class="tree-leaf-head '+classIfDefined($scope.options.injectClasses.iLeaf, false)+'"></i>' +
157158
'<div class="tree-label '+classIfDefined($scope.options.injectClasses.label, false)+'" ng-class="selectedClass()" ng-click="selectNodeLabel(node)" tree-transclude></div>' +

test/angular-tree-control-test.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,20 @@ describe('treeControl', function() {
263263

264264
describe('options usage', function () {
265265

266+
it('should not reorder nodes if no order-by is provided', function() {
267+
$rootScope.treedata = [
268+
{ label: "a", children: [] },
269+
{ label: "c", children: [] },
270+
{ label: "b", children: [] }
271+
];
272+
273+
element = $compile('<treecontrol tree-model="treedata" reverse-order="{{reverse}}">{{node.label}}</treecontrol>')($rootScope);
274+
$rootScope.$digest();
275+
expect(element.find('li:eq(0)').text()).toBe('a');
276+
expect(element.find('li:eq(1)').text()).toBe('c');
277+
expect(element.find('li:eq(2)').text()).toBe('b');
278+
});
279+
266280
it('should order sibling nodes in normal order', function() {
267281
$rootScope.treedata = [
268282
{ label: "a", children: [] },

0 commit comments

Comments
 (0)