1) this.pager.$itemsPerPage = val; if (event.keyCode == event.DOM_VK_RETURN) this.pager.onChoice(); } this.initButton(xi.byAnonId(this, 'first')); this.initButton(xi.byAnonId(this, 'prev')); this.$toPage = xi.byAnonId(this, 'toPage'); this.$toPage.pager = this; this.$toPage.onkeyup = function(event) { const val = parseInt(this.value, 10); if (!isNaN(val) && val > 0) this.pager.$pageOffset = val - 1; if (event.keyCode == event.DOM_VK_RETURN) this.pager.onChoice(); } this.$lastPageLabel = xi.byAnonId(this, 'lastPageLabel'); this.initButton(xi.byAnonId(this, 'next')); this.initButton(xi.byAnonId(this, 'last')); this.$processing = xi.byAnonId(this, 'processing'); this.$reload = xi.byAnonId(this, 'reload'); this.$reload.pager = this; this.$reload.onclick = function() { this.pager.onChoice(); } this.$details = xi.byAnonId(this, 'details'); ]]> 0 && totalCount > this.$itemsPerPage*pageCount) ++pageCount; this.$pageCount = pageCount; this.$lastPageLabel.value = pageCount; if (this.$pageOffset > pageCount - 1) { if (pageCount > 0) this.$pageOffset = pageCount - 1 this.$toPage.value = pageCount; } const start = this.$pageOffset*this.$itemsPerPage + 1; var end = start + this.$itemsPerPage - 1; if (end > totalCount) end = totalCount; this.$processing.hidden = true; this.$reload.hidden = false; this.$details.value = ( (totalCount > 0) ? ( 'Showing ' + start + ' - ' + end + ' of ' + totalCount ) : '' ); ]]> this.pager.$pageCount - 1) pageOffset = this.pager.$pageCount - 1; if (pageOffset != this.pager.$pageOffset) { this.pager.$pageOffset = pageOffset; this.pager.$toPage.value = pageOffset + 1; this.pager.onChoice(); } } ]]>