Wednesday, 9 November 2016

Example of sorting in angular

 example of sorting in angular

paste the following code in HTML page:


<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
</head>
<body ng-app="orderByExample3">
<div ng-controller="ExampleController">
  <pre>Sort by = {{propertyName}}; reverse = {{reverse}}</pre>
  <hr/>
  <button ng-click="sortBy(null)">Set to unsorted</button>
  <hr/>
  <table class="friends">
    <tr>
      <th>
        <button ng-click="sortBy('name')">Name</button>
        <span class="sortorder" ng-show="propertyName === 'name'" ng-class="{reverse: reverse}"></span>
      </th>
      <th>
        <button ng-click="sortBy('phone')">Phone Number</button>
        <span class="sortorder" ng-show="propertyName === 'phone'" ng-class="{reverse: reverse}"></span>
      </th>
      <th>
        <button ng-click="sortBy('age')">Age</button>
        <span class="sortorder" ng-show="propertyName === 'age'" ng-class="{reverse: reverse}"></span>
      </th>
      <th>
        <button ng-click="sortBy('c[0].time')">Time</button>
        <span class="sortorder" ng-show="propertyName === 'c[0].time'" ng-class="{reverse: reverse}"></span>
      </th>
    </tr>
    <tr ng-repeat="friend in friends">
      <td>{{friend.name}}</td>
      <td>{{friend.phone}}</td>
      <td>{{friend.age}}</td>
      <td>{{friend.c[0].time}}</td>
    </tr>
  </table>
</div>

</body>
</html>

paste the following code in js page:

var app = angular.module('orderByExample3', []);

 app.controller('ExampleController', function($scope,$filter) {
  //['$scope', 'orderByFilter',
  var friends = [
    {name: 'John',   phone: '555-1212',  age: 10, c:[{time:"1H:20"}] },
    {name: 'Mary',   phone: '555-9876',  age: 19,c:[{time:"1h:10"}]},
    {name: 'Mike',   phone: '555-4321',  age: 21,c:[{time:"3h:20"}]},
    {name: 'Adam',   phone: '555-5678',  age: 35,c:[{time:"2h:15"}]},
    {name: 'Julie',  phone: '555-8765',  age: 29,c:[{time:"5h:20"}]}
  ];
$scope.friends = friends;
   $scope.propertyName = 'age';
  $scope.reverse = true;
$scope.friends = $filter('orderBy')(friends, $scope.propertyName, $scope.reverse);
  
   $scope.sortBy = function(propertyName) {
    $scope.reverse = (propertyName !== null && $scope.propertyName === propertyName)
        ? !$scope.reverse : false;
    $scope.propertyName = propertyName;
    $scope.friends = $filter('orderBy')(friends, $scope.propertyName, $scope.reverse);
  };
  
});
 

----------------------------------------- 
 just run and test the code :-)

-------------------------------------------

 

 

 

No comments:

Post a Comment