Mise à jour de la pagination dans AngularJS après filtrage

J'ai déjà la pagination de mise en œuvre.
Maintenant, je veux que la pagination à être mis à jour après le filtrage de mes résultats.

La forme:

<input type="text" data-ng-model="search.name" data-ng-change="filter()"/>

La liste:

<li data-ng-repeat="data in filtered = (list | filter:search) | filter:search | startFrom:(currentPage-1)*entryLimit | limitTo:entryLimit">{{data.name}}</li>

La pagination:

<pagination data-boundary-links="true" data-num-pages="noOfPages" data-current-page="currentPage" max-size="maxSize"></pagination>

Le contrôleur:

$scope.filter = function() {
    window.setTimeout(function() { //wait for 'filtered' to be changed
        $scope.noOfPages = Math.ceil($scope.filtered.length/$scope.entryLimit);
        $scope.setPage = function(pageNo) {
            $scope.currentPage = pageNo;
        };
    }, 10);
};

Mon problème est, la pagination est juste mis à jour après avoir cliqué sur un numéro de page ou après de saisir le caractère suivant dans le champ de saisie. C'est donc la mise à jour d'une étape à la fin.

MODIFIER: j'ai ajouté la source à jsFiddle: http://jsfiddle.net/eqCWL/2/