Skip to content
This repository was archived by the owner on May 29, 2019. It is now read-only.

Commit a294c87

Browse files
fix(pagination): take maxSize defaults into account
Fixes #1728 Closes #1738
1 parent b7eb69e commit a294c87

File tree

2 files changed

+26
-13
lines changed

2 files changed

+26
-13
lines changed

src/pagination/pagination.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ angular.module('ui.bootstrap.pagination', [])
104104
}
105105

106106
// Setup configuration parameters
107-
var maxSize,
107+
var maxSize = paginationCtrl.getAttributeValue(attrs.maxSize, config.maxSize ),
108108
boundaryLinks = paginationCtrl.getAttributeValue(attrs.boundaryLinks, config.boundaryLinks ),
109109
directionLinks = paginationCtrl.getAttributeValue(attrs.directionLinks, config.directionLinks ),
110110
firstText = paginationCtrl.getAttributeValue(attrs.firstText, config.firstText, true),

src/pagination/test/pagination.spec.js

+25-12
Original file line numberDiff line numberDiff line change
@@ -529,10 +529,17 @@ describe('pagination directive', function () {
529529
});
530530

531531
describe('setting `paginationConfig`', function() {
532-
var originalConfig = {};
533-
beforeEach(inject(function(paginationConfig) {
534-
angular.extend(originalConfig, paginationConfig);
535-
paginationConfig.itemsPerPage = 5;
532+
var originalConfig, paginationConfig;
533+
beforeEach(inject(function(_paginationConfig_) {
534+
originalConfig = angular.copy(_paginationConfig_);
535+
paginationConfig = _paginationConfig_;
536+
}));
537+
afterEach(inject(function(paginationConfig) {
538+
// return it to the original stat
539+
angular.copy(originalConfig, paginationConfig);
540+
}));
541+
542+
it('should change paging text', function () {
536543
paginationConfig.boundaryLinks = true;
537544
paginationConfig.directionLinks = true;
538545
paginationConfig.firstText = 'FI';
@@ -541,21 +548,27 @@ describe('pagination directive', function () {
541548
paginationConfig.lastText = 'LA';
542549
element = $compile('<pagination total-items="total" ng-model="currentPage"></pagination>')($rootScope);
543550
$rootScope.$digest();
544-
}));
545-
afterEach(inject(function(paginationConfig) {
546-
// return it to the original stat
547-
angular.extend(paginationConfig, originalConfig);
548-
}));
549551

550-
it('should change paging text', function () {
551552
expect(getPaginationEl(0).text()).toBe('FI');
552553
expect(getPaginationEl(1).text()).toBe('PR');
553554
expect(getPaginationEl(-2).text()).toBe('NE');
554555
expect(getPaginationEl(-1).text()).toBe('LA');
555556
});
556557

557-
it('contains number of pages + 4 li elements', function() {
558-
expect(getPaginationBarSize()).toBe(14);
558+
it('contains number of pages + 2 li elements', function() {
559+
paginationConfig.itemsPerPage = 5;
560+
element = $compile('<pagination total-items="total" ng-model="currentPage"></pagination>')($rootScope);
561+
$rootScope.$digest();
562+
563+
expect(getPaginationBarSize()).toBe(12);
564+
});
565+
566+
it('should take maxSize defaults into account', function () {
567+
paginationConfig.maxSize = 2;
568+
element = $compile('<pagination total-items="total" ng-model="currentPage"></pagination>')($rootScope);
569+
$rootScope.$digest();
570+
571+
expect(getPaginationBarSize()).toBe(4);
559572
});
560573
});
561574

0 commit comments

Comments
 (0)