@rxdi/ui-kit
Version:
UI Components for building graphql-server website
41 lines • 1.57 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Paginator = void 0;
__exportStar(require("./pagination.component"), exports);
const Paginator = (items, page = 1, per_page = 10) => {
const offset = (page - 1) * per_page;
const data = items.slice(offset).slice(0, per_page);
const total_pages = Math.ceil(items.length / per_page);
return {
page,
per_page,
pre_page: page - 1 ? page - 1 : null,
next_page: total_pages > page ? page + 1 : null,
total: items.length,
total_pages: total_pages,
data,
pages: [
...Array.from(Array(total_pages).keys()).map((item, index) => {
return {
active: index + 1 === page,
};
}),
],
};
};
exports.Paginator = Paginator;
//# sourceMappingURL=index.js.map