blob: f39991d96f8dc1dcd0fd41004c4bcffbd5cdf74f [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<title>Custom Filters in Action</title>
<script src="../../tp/angular.js"></script>
</head>
<body ng-app="filtersApp">
<div ng-controller="FilterCtrl as ctrl">
<div>
Start time (Timestamp): {{ctrl.startTime}}
</div>
<div>
Start time (Time): {{ctrl.startTime | date:'h:m a'}}
</div>
<div>
Start time (Our filter): {{ctrl.startTime | timeAgo}}
</div>
<div>
Start time (Our filter 2): {{ctrl.startTime | timeAgo:true}}
</div>
<div>
Some time ago (Computed): {{ctrl.someTimeAgo | date:'h:m a'}}
</div>
<div>
Some time ago (Our filter): {{ctrl.someTimeAgo | timeAgo}}
</div>
</div>
<script type="text/javascript">
angular.module('filtersApp', [])
.controller('FilterCtrl', [function () {
var self = this;
self.startTime = new Date().getTime();
self.someTimeAgo = self.startTime - (1000*3600*4);
}])
.filter('timeAgo', [function () {
var _m = 1000 * 60,
_h = _m * 60,
_d = _h * 24,
_mon = _d * 30;
return function (ts, ignoreSecs) {
var now = new Date().getTime(),
diff = now - ts;
if (diff < _m && !ignoreSecs) {
return 'seconds ago';
} else if (diff < _h) {
return 'minutes ago';
} else if (diff < _d) {
return 'hours ago';
} else if (diff < _mon) {
return 'days ago';
} else {
return 'months ago';
}
}
}]);
</script>
</body>
</html>