Angular: Empty Fiddle
http://angularjs.org/
by Pratik Bhattachary
HTML
<script src="http://code.angularjs.org/angular-1.0.1.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script>
<div ng-controller="MyCtrl">
<input type="text" ng-model="minYear" placeholder="Start Year">
<input type="text" ng-model="maxYear" placeholder="End Year">
<div ng-repeat="year in years | yearFilter: minYear: maxYear">
{{year}}
</div>
</div>
JavaScript
var myApp = angular.module('myApp', []);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
function MyCtrl($scope) {
$scope.years = ["1990", "1991", "1996", "1999", "2000", "2005", "2007", "2011", "2016"];
}
myApp.filter("yearFilter", function() {
return function(years, startYear, endYear) {
var filteredYears = years;
if (!isNaN(startYear)) {
filteredYears = _.filter(filteredYears, function(year) {
return year >= startYear;
});
}
if (!isNaN(endYear)) {
if (isNaN(startYear) || (parseInt(startYear) < parseInt(endYear))) {
filteredYears = _.filter(filteredYears, function(year) {
return year <= endYear;
});
}
}
return filteredYears;
}
});