diff --git a/src/pagination/pagination.js b/src/pagination/pagination.js
index 6f0e69eead..7a5da1b67b 100644
--- a/src/pagination/pagination.js
+++ b/src/pagination/pagination.js
@@ -1,5 +1,4 @@
angular.module('ui.bootstrap.pagination', [])
-
.controller('PaginationController', ['$scope', '$attrs', '$parse', function ($scope, $attrs, $parse) {
var self = this,
ngModelCtrl = { $setViewValue: angular.noop }, // nullModelCtrl
@@ -47,7 +46,8 @@ angular.module('ui.bootstrap.pagination', [])
};
$scope.selectPage = function(page, evt) {
- if ( $scope.page !== page && page > 0 && page <= $scope.totalPages) {
+ var clickAllowed = !$scope.ngDisabled || !evt;
+ if (clickAllowed && $scope.page !== page && page > 0 && page <= $scope.totalPages) {
if (evt && evt.target) {
evt.target.blur();
}
@@ -86,7 +86,8 @@ angular.module('ui.bootstrap.pagination', [])
firstText: '@',
previousText: '@',
nextText: '@',
- lastText: '@'
+ lastText: '@',
+ ngDisabled:'='
},
require: ['pagination', '?ngModel'],
controller: 'PaginationController',
diff --git a/src/pagination/test/pagination.spec.js b/src/pagination/test/pagination.spec.js
index 19a9618c28..968df358bf 100644
--- a/src/pagination/test/pagination.spec.js
+++ b/src/pagination/test/pagination.spec.js
@@ -7,6 +7,7 @@ describe('pagination directive', function () {
$rootScope = _$rootScope_;
$rootScope.total = 47; // 5 pages
$rootScope.currentPage = 3;
+ $rootScope.disabled = false;
$document = _$document_;
element = $compile('