From f8a9dabfa9121d470db9094afd6d8df5422b78f0 Mon Sep 17 00:00:00 2001 From: "andreas.mantas" <48762391+amantas@users.noreply.github.com> Date: Fri, 2 Aug 2019 15:52:20 +0000 Subject: [PATCH] adminPg-metrics: pagination update: display 5 pages when possible --- .../adminPg/adminPg-metrics.component.ts | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/app/pages/adminPg/adminPg-metrics.component.ts b/src/app/pages/adminPg/adminPg-metrics.component.ts index bb5080c70..952634e10 100755 --- a/src/app/pages/adminPg/adminPg-metrics.component.ts +++ b/src/app/pages/adminPg/adminPg-metrics.component.ts @@ -15,6 +15,7 @@ import {RepositoryService} from '../../services/repository.service'; import {ActivatedRoute, Router} from '@angular/router'; import {PiwikInfoPage} from '../../domain/page-content'; import {environment} from '../../../environments/environment'; +import {st} from '@angular/core/src/render3'; @Component ({ selector: 'app-admin-metrics', @@ -162,11 +163,25 @@ export class AdminPgMetricsComponent implements OnInit { } getPages() { + let addToEndCounter = 0; + let addToStartCounter = 0; this.pages = []; this.pageTotal = Math.ceil(this.piwiks.total / (this.dataForm.get('quantity').value)); for ( let i = (+this.dataForm.get('page').value - this.offset); i < (+this.dataForm.get('page').value + 1 + this.offset); ++i ) { - if ((i >= 0) && (i < this.pageTotal)) { - this.pages.push(i); + if ( i < 0 ) { addToEndCounter++; } + if ( i >= this.pageTotal ) { addToStartCounter++; } + if ((i >= 0) && (i < this.pageTotal)) { + this.pages.push(i); + } + } + for ( let i = 0; i < addToEndCounter; ++i ) { + if (this.pages.length < this.pageTotal) { + this.pages.push(this.pages.length); + } + } + for ( let i = 0; i < addToStartCounter; ++i ) { + if (this.pages[0] > 0) { + this.pages.unshift(this.pages[0] - 1 ); } } }