ググっても上手く見つからず、自分で作ってみました。
// 日付範囲選択用のフィルタ
app.filter('dateSelectFrom', function() {
return function(input, from) {
var arr = [];
input.some(function(v, i) {
if (v.date >= Date.parse(from)) {
arr.push(input[i]);
}
});
return arr;
};
});
app.filter('dateSelectTo', function() {
return function(input, to) {
var arr = [];
input.some(function(v, i) {
if (v.date <= Date.parse(to)) {
arr.push(input[i]);
}
});
return arr;
};
});
こんな感じでフィルタを適用できます。
<tr ng-repeat="item in items|dateSelectFrom:dateFrom|dateSelectTo:dateTo>
ユーザに日付を選択させる場合は、HTML5の
<input type="date" ng-model="dateFrom">
を使うと楽。
動くサンプルはこちらから。