ultimate-pagination
Advanced tools
Comparing version 0.2.0 to 0.3.0
@@ -62,6 +62,18 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
}); | ||
exports.ITEM_TYPES = undefined; | ||
exports.getPaginationModel = getPaginationModel; | ||
var _ultimatePaginationUtils = __webpack_require__(1); | ||
var _ultimatePaginationConstants = __webpack_require__(1); | ||
Object.defineProperty(exports, 'ITEM_TYPES', { | ||
enumerable: true, | ||
get: function get() { | ||
return _ultimatePaginationConstants.ITEM_TYPES; | ||
} | ||
}); | ||
var _ultimatePaginationUtils = __webpack_require__(2); | ||
var _ultimatePaginationItemFactories = __webpack_require__(3); | ||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } | ||
@@ -71,16 +83,17 @@ | ||
var paginationModel = []; | ||
var createPage = (0, _ultimatePaginationItemFactories.createPageFunctionFactory)(currentPage); | ||
// Calculate group of central pages | ||
var mainPagesStart = Math.max(currentPage - 1, 2) - Math.max(0, currentPage + 2 - totalPages); | ||
var mainPagesEnd = Math.min(currentPage + 1, totalPages - 1) + Math.max(0, 3 - currentPage); | ||
var mainPages = (0, _ultimatePaginationUtils.createRange)(mainPagesStart, mainPagesEnd); | ||
var mainPagesStart = Math.max(currentPage - 1, 3) - Math.max(0, currentPage + 3 - totalPages); | ||
var mainPagesEnd = Math.min(currentPage + 1, totalPages - 2) + Math.max(0, 4 - currentPage); | ||
var mainPages = (0, _ultimatePaginationUtils.createRange)(mainPagesStart, mainPagesEnd).map(createPage); | ||
// Always add the first page | ||
paginationModel.push(1); | ||
paginationModel.push(createPage(1)); | ||
// Show '...' or second page between the last page and main pages group if needed | ||
if (mainPagesStart === 3) { | ||
paginationModel.push(2); | ||
} else if (mainPagesStart > 3) { | ||
paginationModel.push('...'); | ||
if (mainPagesStart > 3) { | ||
paginationModel.push((0, _ultimatePaginationItemFactories.createFirstEllipsis)()); | ||
} else { | ||
paginationModel.push(createPage(2)); | ||
} | ||
@@ -92,10 +105,10 @@ | ||
// Show '...' or penult page between main pages group and the last page if needed | ||
if (mainPagesEnd === totalPages - 2) { | ||
paginationModel.push(totalPages - 1); | ||
} else if (mainPagesEnd < totalPages - 2) { | ||
paginationModel.push('...'); | ||
if (mainPagesEnd < totalPages - 2) { | ||
paginationModel.push((0, _ultimatePaginationItemFactories.createSecondEllipsis)()); | ||
} else { | ||
paginationModel.push(createPage(totalPages - 1)); | ||
} | ||
// Always add the last page | ||
paginationModel.push(totalPages); | ||
paginationModel.push(createPage(totalPages)); | ||
@@ -109,2 +122,16 @@ return paginationModel; | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var ITEM_TYPES = exports.ITEM_TYPES = { | ||
PAGE: 'PAGE', | ||
ELLIPSIS: 'ELLIPSIS' | ||
}; | ||
/***/ }, | ||
/* 2 */ | ||
/***/ function(module, exports) { | ||
"use strict"; | ||
@@ -124,2 +151,40 @@ | ||
/***/ }, | ||
/* 3 */ | ||
/***/ function(module, exports, __webpack_require__) { | ||
'use strict'; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.createEllipsis = exports.createSecondEllipsis = exports.createFirstEllipsis = exports.createPageFunctionFactory = undefined; | ||
var _ultimatePaginationConstants = __webpack_require__(1); | ||
var createPageFunctionFactory = exports.createPageFunctionFactory = function createPageFunctionFactory(currentPage) { | ||
return function (pageNumber) { | ||
return { | ||
type: _ultimatePaginationConstants.ITEM_TYPES.PAGE, | ||
value: pageNumber, | ||
isActive: pageNumber === currentPage | ||
}; | ||
}; | ||
}; | ||
// Use -1 and -2 value to make value an uniq key for items | ||
var createFirstEllipsis = exports.createFirstEllipsis = function createFirstEllipsis() { | ||
return createEllipsis(-1); | ||
}; | ||
var createSecondEllipsis = exports.createSecondEllipsis = function createSecondEllipsis() { | ||
return createEllipsis(-2); | ||
}; | ||
var createEllipsis = exports.createEllipsis = function createEllipsis(value) { | ||
return { | ||
type: _ultimatePaginationConstants.ITEM_TYPES.ELLIPSIS, | ||
value: value | ||
}; | ||
}; | ||
/***/ } | ||
@@ -126,0 +191,0 @@ /******/ ]) |
{ | ||
"name": "ultimate-pagination", | ||
"version": "0.2.0", | ||
"version": "0.3.0", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "dist/ultimate-pagination.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
7721
147