UNPKG

@kushki/ng-suka

Version:

<p align="center"> <h1 align="center">Suka Components Angular</h1> <p align="center"> An Angular implementation of the Suka Design System </p> </p>

52 lines 4.07 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @param {?} pageNumber * @param {?} currentPage * @param {?} spacing * @return {?} */ export default function buildPaginationArray(pageNumber, currentPage, spacing) { /** @type {?} */ const pageArray = []; /** @type {?} */ const startingPosition = Math.max(currentPage - spacing, 1); /** @type {?} */ const endPosition = Math.min(currentPage + spacing, pageNumber); for (let i = startingPosition; i <= endPosition; i++) { pageArray.push(i); } if (currentPage - spacing > 1) { appendFirstPages(pageArray); } if (currentPage + spacing < pageNumber) { appendLastPages(pageArray, pageNumber); } return pageArray; } /** * @param {?} array * @return {?} */ function appendFirstPages(array) { /** @type {?} */ const initialValue = array[0]; if (initialValue - 1 > 1) { array.unshift('...'); } array.unshift(1); } /** * @param {?} array * @param {?} lastPageNumber * @return {?} */ function appendLastPages(array, lastPageNumber) { if (array[array.length - 1] + 1 < lastPageNumber) { array.push('...'); } array.push(lastPageNumber); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BrdXNoa2kvbmctc3VrYS8iLCJzb3VyY2VzIjpbImxpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24tdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLE1BQU0sQ0FBQyxPQUFPLFVBQVUsb0JBQW9CLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPOztVQUNyRSxTQUFTLEdBQUcsRUFBRTs7VUFFZCxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDOztVQUNyRCxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsT0FBTyxFQUFFLFVBQVUsQ0FBQztJQUUvRCxLQUFLLElBQUksQ0FBQyxHQUFHLGdCQUFnQixFQUFFLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDcEQsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNuQjtJQUVELElBQUksV0FBVyxHQUFHLE9BQU8sR0FBRyxDQUFDLEVBQUU7UUFDN0IsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDN0I7SUFFRCxJQUFJLFdBQVcsR0FBRyxPQUFPLEdBQUcsVUFBVSxFQUFFO1FBQ3RDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7S0FDeEM7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDOzs7OztBQUVELFNBQVMsZ0JBQWdCLENBQUMsS0FBSzs7VUFDdkIsWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFN0IsSUFBSSxZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUN4QixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3RCO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDOzs7Ozs7QUFFRCxTQUFTLGVBQWUsQ0FBQyxLQUFLLEVBQUUsY0FBYztJQUM1QyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxjQUFjLEVBQUU7UUFDaEQsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNuQjtJQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGJ1aWxkUGFnaW5hdGlvbkFycmF5KHBhZ2VOdW1iZXIsIGN1cnJlbnRQYWdlLCBzcGFjaW5nKSB7XG4gIGNvbnN0IHBhZ2VBcnJheSA9IFtdO1xuXG4gIGNvbnN0IHN0YXJ0aW5nUG9zaXRpb24gPSBNYXRoLm1heChjdXJyZW50UGFnZSAtIHNwYWNpbmcsIDEpO1xuICBjb25zdCBlbmRQb3NpdGlvbiA9IE1hdGgubWluKGN1cnJlbnRQYWdlICsgc3BhY2luZywgcGFnZU51bWJlcik7XG5cbiAgZm9yIChsZXQgaSA9IHN0YXJ0aW5nUG9zaXRpb247IGkgPD0gZW5kUG9zaXRpb247IGkrKykge1xuICAgIHBhZ2VBcnJheS5wdXNoKGkpO1xuICB9XG5cbiAgaWYgKGN1cnJlbnRQYWdlIC0gc3BhY2luZyA+IDEpIHtcbiAgICBhcHBlbmRGaXJzdFBhZ2VzKHBhZ2VBcnJheSk7XG4gIH1cblxuICBpZiAoY3VycmVudFBhZ2UgKyBzcGFjaW5nIDwgcGFnZU51bWJlcikge1xuICAgIGFwcGVuZExhc3RQYWdlcyhwYWdlQXJyYXksIHBhZ2VOdW1iZXIpO1xuICB9XG5cbiAgcmV0dXJuIHBhZ2VBcnJheTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kRmlyc3RQYWdlcyhhcnJheSkge1xuICBjb25zdCBpbml0aWFsVmFsdWUgPSBhcnJheVswXTtcblxuICBpZiAoaW5pdGlhbFZhbHVlIC0gMSA+IDEpIHtcbiAgICBhcnJheS51bnNoaWZ0KCcuLi4nKTtcbiAgfVxuXG4gIGFycmF5LnVuc2hpZnQoMSk7XG59XG5cbmZ1bmN0aW9uIGFwcGVuZExhc3RQYWdlcyhhcnJheSwgbGFzdFBhZ2VOdW1iZXIpIHtcbiAgaWYgKGFycmF5W2FycmF5Lmxlbmd0aCAtIDFdICsgMSA8IGxhc3RQYWdlTnVtYmVyKSB7XG4gICAgYXJyYXkucHVzaCgnLi4uJyk7XG4gIH1cblxuICBhcnJheS5wdXNoKGxhc3RQYWdlTnVtYmVyKTtcbn1cbiJdfQ==