diff --git a/README.md b/README.md index c539836..bf3bd33 100644 --- a/README.md +++ b/README.md @@ -129,6 +129,7 @@ Attributes of angular treecontrol - `labelSelected` : inject classes into the div element around the label only when the node is selected - `order-by` : value for ng-repeat to use for ordering sibling nodes - `reverse-order` : whether or not to reverse the ordering of sibling nodes based on the value of `order-by` +- `order-by-expression` : Expression evaluated by ng-repeat to use for ordering sibling nodes - `filter-expression` : value for ng-repeat to use for filtering the sibling nodes - `filter-comparator` : value for ng-repeat to use for comparing nodes with the filter expression diff --git a/angular-tree-control.js b/angular-tree-control.js index e6aaaff..0d24cb3 100644 --- a/angular-tree-control.js +++ b/angular-tree-control.js @@ -36,6 +36,7 @@ onNodeToggle: "&", options: "=?", orderBy: "@", + orderByExpression: "=?", reverseOrder: "@", filterExpression: "=?", filterComparator: "=?" @@ -197,7 +198,12 @@ }; //tree template - var orderBy = $scope.orderBy ? ' | orderBy:orderBy:reverseOrder' : ''; + var orderBy = ''; + if ($scope.orderByExpression) { + orderBy = ' | orderBy:orderByExpression:reverseOrder'; + } else if ($scope.orderBy) { + orderBy = ' | orderBy:orderBy:reverseOrder'; + } var template = '