From d63ec72d2df14033e8a8566296e5d36decf12373 Mon Sep 17 00:00:00 2001 From: Wicklow Date: Wed, 11 Oct 2023 17:44:33 +0200 Subject: [PATCH 1/2] Add query params logic in admin user list --- .../users/user-list/user-list.component.html | 4 +-- .../users/user-list/user-list.component.ts | 30 +++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/client/src/app/+admin/overview/users/user-list/user-list.component.html b/client/src/app/+admin/overview/users/user-list/user-list.component.html index 142057141..cec324f41 100644 --- a/client/src/app/+admin/overview/users/user-list/user-list.component.html +++ b/client/src/app/+admin/overview/users/user-list/user-list.component.html @@ -4,9 +4,9 @@ diff --git a/client/src/app/+admin/overview/users/user-list/user-list.component.ts b/client/src/app/+admin/overview/users/user-list/user-list.component.ts index a5a1552da..12a6cc874 100644 --- a/client/src/app/+admin/overview/users/user-list/user-list.component.ts +++ b/client/src/app/+admin/overview/users/user-list/user-list.component.ts @@ -9,6 +9,7 @@ import { AccountMutedStatus, BlocklistService, UserBanModalComponent, UserModera import { UserAdminService } from '@app/shared/shared-users' import { User, UserRole, UserRoleType } from '@peertube/peertube-models' import { logger } from '@root-helpers/logger' +import { TableLazyLoadEvent } from 'primeng/table' type UserForList = User & { rawVideoQuota: number @@ -88,7 +89,18 @@ export class UserListComponent extends RestTable implements OnInit { this.saveSelectedColumns() } + start = 0 + ngOnInit () { + this.route.queryParams.subscribe(params => { + const paramPage = +params['page']; + const paramCount = +params['count']; + + if (!isNaN(paramPage) && !isNaN(paramCount)) { + this.rowsPerPage = paramCount + this.start = paramCount * (paramPage - 1); + } + }); this.serverService.getConfig() .subscribe(config => this.requiresEmailVerification = config.signup.requiresEmailVerification) @@ -321,4 +333,22 @@ export class UserListComponent extends RestTable implements OnInit { } }) } + + onLazyLoadHandler(event: TableLazyLoadEvent) { + this.loadLazy(event) + + const url = new URL(window.location.href) + const page = event.first/event.rows + 1 + + url.searchParams.set('page', page.toString()) + url.searchParams.set('count', event.rows.toString()) + + window.history.pushState({}, document.title, url.href) + + this.start = event.first + + this.pagination.start = this.start + } + + } From 5db23f87b4a752bbee066f1b58f373ed24ef3cae Mon Sep 17 00:00:00 2001 From: Wicklow Date: Thu, 12 Oct 2023 15:35:07 +0200 Subject: [PATCH 2/2] linting code --- .../users/user-list/user-list.component.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/client/src/app/+admin/overview/users/user-list/user-list.component.ts b/client/src/app/+admin/overview/users/user-list/user-list.component.ts index 12a6cc874..327cb34f4 100644 --- a/client/src/app/+admin/overview/users/user-list/user-list.component.ts +++ b/client/src/app/+admin/overview/users/user-list/user-list.component.ts @@ -93,14 +93,14 @@ export class UserListComponent extends RestTable implements OnInit { ngOnInit () { this.route.queryParams.subscribe(params => { - const paramPage = +params['page']; - const paramCount = +params['count']; + const paramPage = +params['page'] + const paramCount = +params['count'] if (!isNaN(paramPage) && !isNaN(paramCount)) { this.rowsPerPage = paramCount - this.start = paramCount * (paramPage - 1); + this.start = paramCount * (paramPage - 1) } - }); + }) this.serverService.getConfig() .subscribe(config => this.requiresEmailVerification = config.signup.requiresEmailVerification) @@ -334,15 +334,15 @@ export class UserListComponent extends RestTable implements OnInit { }) } - onLazyLoadHandler(event: TableLazyLoadEvent) { + onLazyLoadHandler (event: TableLazyLoadEvent) { this.loadLazy(event) const url = new URL(window.location.href) - const page = event.first/event.rows + 1 - + const page = event.first / event.rows + 1 + url.searchParams.set('page', page.toString()) url.searchParams.set('count', event.rows.toString()) - + window.history.pushState({}, document.title, url.href) this.start = event.first @@ -350,5 +350,4 @@ export class UserListComponent extends RestTable implements OnInit { this.pagination.start = this.start } - }