diff --git a/package.json b/package.json index dc38ec5..8f281ff 100644 --- a/package.json +++ b/package.json @@ -6,22 +6,17 @@ "author": "Michael Bromley", "license": "MIT", "devDependencies": { + "bower": "^1.3.1", "grunt": "~0.4.2", - "karma-script-launcher": "~0.1.0", - "karma-chrome-launcher": "~0.1.2", - "karma-firefox-launcher": "~0.1.3", - "karma-html2js-preprocessor": "~0.1.0", - "karma-jasmine": "^0.2.1", - "karma-coffee-preprocessor": "~0.1.2", - "requirejs": "~2.1.10", - "karma-requirejs": "~0.2.1", - "karma-phantomjs-launcher": "~0.1.1", - "karma": "~0.10.9", - "grunt-karma": "~0.6.2", + "grunt-contrib-copy": "^0.5.0", "grunt-contrib-jshint": "~0.8.0", - "bower": "^1.3.1", "grunt-contrib-watch": "^0.6.1", "grunt-html2js": "^0.2.4", - "grunt-contrib-copy": "^0.5.0" + "grunt-karma": "~0.9.0", + "karma-chrome-launcher": "^0.1.5", + "karma-firefox-launcher": "^0.1.3", + "karma-jasmine": "^0.2.2", + "karma-phantomjs-launcher": "^0.1.4", + "requirejs": "~2.1.10" } } diff --git a/src/directives/pagination/dirPagination.js b/src/directives/pagination/dirPagination.js index 2c53b2e..ba59bb3 100644 --- a/src/directives/pagination/dirPagination.js +++ b/src/directives/pagination/dirPagination.js @@ -238,8 +238,10 @@ } function generatePagination() { - scope.pages = generatePagesArray(1, paginationService.getCollectionLength(paginationId), paginationService.getItemsPerPage(paginationId), paginationRange); - scope.pagination.current = parseInt(paginationService.getCurrentPage(paginationId)); + var page = parseInt(paginationService.getCurrentPage(paginationId)) || 1; + + scope.pages = generatePagesArray(page, paginationService.getCollectionLength(paginationId), paginationService.getItemsPerPage(paginationId), paginationRange); + scope.pagination.current = page; scope.pagination.last = scope.pages[scope.pages.length - 1]; if (scope.pagination.last < scope.pagination.current) { scope.setCurrent(scope.pagination.last); diff --git a/src/directives/pagination/dirPagination.spec.js b/src/directives/pagination/dirPagination.spec.js index 767d081..5ba1dbd 100644 --- a/src/directives/pagination/dirPagination.spec.js +++ b/src/directives/pagination/dirPagination.spec.js @@ -1,4 +1,4 @@ -/** + /** * Created by Michael on 04/05/14. */ @@ -274,6 +274,20 @@ describe('dirPagination directive', function() { expect(pageLinks).toEqual(['‹','1', '...', '94', '95', '96', '97', '98', '99', '100', '›']); }); + it('should show the correct pagination links after item removed from cllection', function() { + compileElement(myCollection, 1); + $scope.$apply(function() { + $scope.currentPage = 98; + }); + + $scope.$apply(function() { + $scope.collection.pop(); + }); + var pageLinks = getPageLinksArray(); + + expect(pageLinks).toEqual(['‹','1', '...', '93', '94', '95', '96', '97', '98', '99', '›']); + }); + it('should calculate pages based off collection after all filters are applied', function() { $scope.filterBy = '2'; var customExpression = "item in collection | filter: filterBy | itemsPerPage: itemsPerPage";