Reputation: 5048
I have custom filter:
errorReporter.filter('customDateFilter', function () {
return function (input) {
var input1 = parseInt(input.substring(6)); //da makne onaj /Date početak
var jsDate = new Date(input1);
var day = jsDate.getDate();
var month = jsDate.getMonth();
var year = jsDate.getFullYear();
return day.toString() + "." + (month + 1).toString() + "." + year.toString();
};
});
I also have :
<tr class="animate-repeat" ng-repeat="error in latestErrors| orderBy:predicate:reverse|
filter:{ TimeUtc :SearchTimeUtc}">
<td >{{error.TimeUtc | customDateFilter}}</td>
</tr>
And somewhere I have filter input :
<th><input type="text" ng-model="SearchTimeUtc" /></th>
Problem is that with input I filter "TimeUtc" and not "TimeUtc | customDateFilter".
Example, I have TimeUtc /Date/5869454458/, and TimeUtc | customDateFilter returns 12.07.2014. If I type 2014 inside input it does not filter. If I type 5869 I get row filtered.
UPDATE: I made this filter: errorReporter.filter('SearchTimeUtcFilter', function () {
return function (input) {
var input1 = parseInt(input.substring(6)); //da makne onaj /Date početak
var jsDate = new Date(input1);
var day = jsDate.getDate();
var month = jsDate.getMonth();
var year = jsDate.getFullYear();
var datum = day.toString() + "." + (month + 1).toString() + "." + year.toString();
$log.info("why doesn't log?");
if (datum.indexOf($scope.SearchTimeUtc) > -1)
return true;
return false;
}
}); and inside ng-repeat:
<tr class="animate-repeat" ng-repeat="error in latestErrors| orderBy:predicate:reverse|
filter:{ TimeUtc :SearchTimeUtcFilter}">
Still nothing :(
Upvotes: 0
Views: 119
Reputation: 1341
Why don't you try chaining filters? Basically, the output of one filter becomes the input of the next. https://docs.angularjs.org/guide/filter
Upvotes: 1