reset pager.page if needed
[angular-drzb] / app / js / controllers.js
index ef67a50..fa87a48 100644 (file)
@@ -237,6 +237,8 @@ function ListCtrl($scope, $log, Registration, RegistrationTypes, $filter) {
 
                $scope.pager.results = filtered.length;
                $scope.pager.last_page = Math.ceil( $scope.pager.results / $scope.pager.limit );
+               if ( $scope.pager.page < 1 ) $scope.pager.page = 1;
+               if ( $scope.pager.page > $scope.pager.last_page ) $scope.pager.page = $scope.pager.last_page;
                $log.info('pager', $scope.pager);
 
                var from = ( $scope.pager.page - 1 ) * $scope.pager.limit;
@@ -250,6 +252,7 @@ function ListCtrl($scope, $log, Registration, RegistrationTypes, $filter) {
                $log.info('list length=', $scope.list.length, "offset=", from);
        };
        $scope.$watch('search', $scope.filter_list, true);
+       $scope.$watch('search.$', $scope.filter_list); // FIXME not included in search true because of $
        $scope.$watch('pager', $scope.filter_list, true);
 
        $scope.RegistrationTypes = RegistrationTypes;
@@ -258,6 +261,7 @@ function ListCtrl($scope, $log, Registration, RegistrationTypes, $filter) {
        $scope.reset = function() {
                $scope.search = { registration_type: '' };
                $log.info('reset', $scope.search );
+               $scope.pager.page = 1;
        }
 }