68 lines
2.2 KiB
JavaScript
68 lines
2.2 KiB
JavaScript
"use strict";
|
|
var PackageEntry = /** @class */ (function () {
|
|
function PackageEntry() {
|
|
}
|
|
return PackageEntry;
|
|
}());
|
|
var State = /** @class */ (function () {
|
|
function State() {
|
|
this.entriesPerPage = 10;
|
|
this.currentPage = 1;
|
|
this.entryIndex = 0;
|
|
this.loadedEntries = [];
|
|
}
|
|
State.prototype.getEntriesPerPage = function () {
|
|
return this.entriesPerPage;
|
|
};
|
|
State.prototype.setEntriesPerPage = function (entriesPerPage) {
|
|
this.entriesPerPage = entriesPerPage;
|
|
this.updateRange();
|
|
};
|
|
State.prototype.getCurrentPage = function () {
|
|
return this.currentPage;
|
|
};
|
|
State.prototype.setCurrentPage = function (page) {
|
|
this.currentPage = page;
|
|
document.getElementById("page-number").innerText = String(this.currentPage);
|
|
this.updateRange();
|
|
};
|
|
State.prototype.getEntryIndex = function () {
|
|
return this.entryIndex;
|
|
};
|
|
State.prototype.setEntryIndex = function (entryIndex) {
|
|
this.entryIndex = entryIndex;
|
|
this.updateRange();
|
|
};
|
|
State.prototype.getLoadedEntries = function () {
|
|
return this.loadedEntries;
|
|
};
|
|
State.prototype.getMaxPage = function () {
|
|
return this.loadedEntries.length / this.entriesPerPage;
|
|
};
|
|
State.prototype.updateRange = function () {
|
|
var max = Math.min(this.entryIndex + this.entriesPerPage, this.loadedEntries.length);
|
|
document.getElementById("entry-counter").innerText = "".concat(this.entryIndex, "-").concat(max, " of ").concat(this.loadedEntries.length);
|
|
};
|
|
return State;
|
|
}());
|
|
var STATE;
|
|
function prevPage() {
|
|
var current = STATE.getCurrentPage();
|
|
if (current > 1) {
|
|
STATE.setCurrentPage(STATE.getCurrentPage() - 1);
|
|
}
|
|
}
|
|
function nextPage() {
|
|
var current = STATE.getCurrentPage();
|
|
if (current < STATE.getMaxPage()) {
|
|
STATE.setCurrentPage(STATE.getCurrentPage() + 1);
|
|
}
|
|
}
|
|
document.addEventListener("DOMContentLoaded", function () {
|
|
STATE = new State();
|
|
STATE.updateRange();
|
|
document.getElementById("count").addEventListener("change", function (event) {
|
|
STATE.setEntriesPerPage(parseInt(event.target.value));
|
|
});
|
|
});
|