From 6e5bda1031dbede3483f95e8af5739768ae56bcc Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Wed, 6 Dec 2023 20:11:23 +0100 Subject: [PATCH] Emit paginator event --- .../portfolio/activities/activities-page.component.ts | 8 ++++++++ .../app/pages/portfolio/activities/activities-page.html | 3 +++ .../pages/portfolio/activities/activities-page.module.ts | 2 +- .../activities-table-lazy.component.ts | 5 +++-- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts b/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts index f568eb5f7..67b56ea60 100644 --- a/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts +++ b/apps/client/src/app/pages/portfolio/activities/activities-page.component.ts @@ -1,5 +1,6 @@ import { ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; +import { PageEvent } from '@angular/material/paginator'; import { MatTableDataSource } from '@angular/material/table'; import { ActivatedRoute, Router } from '@angular/router'; import { CreateOrderDto } from '@ghostfolio/api/app/order/create-order.dto'; @@ -11,6 +12,7 @@ import { DataService } from '@ghostfolio/client/services/data.service'; import { IcsService } from '@ghostfolio/client/services/ics/ics.service'; import { ImpersonationStorageService } from '@ghostfolio/client/services/impersonation-storage.service'; import { UserService } from '@ghostfolio/client/services/user/user.service'; +import { DEFAULT_PAGE_SIZE } from '@ghostfolio/common/config'; import { downloadAsFile } from '@ghostfolio/common/helper'; import { User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; @@ -37,6 +39,8 @@ export class ActivitiesPageComponent implements OnDestroy, OnInit { public hasImpersonationId: boolean; public hasPermissionToCreateActivity: boolean; public hasPermissionToDeleteActivity: boolean; + public pageIndex = 0; + public pageSize = DEFAULT_PAGE_SIZE; public routeQueryParams: Subscription; public user: User; @@ -123,6 +127,10 @@ export class ActivitiesPageComponent implements OnDestroy, OnInit { }); } + public onChangePage(page: PageEvent) { + this.pageIndex = page.pageIndex; + } + public onCloneActivity(aActivity: Activity) { this.openCreateActivityDialog(aActivity); } diff --git a/apps/client/src/app/pages/portfolio/activities/activities-page.html b/apps/client/src/app/pages/portfolio/activities/activities-page.html index e651450ff..d1a2a4a74 100644 --- a/apps/client/src/app/pages/portfolio/activities/activities-page.html +++ b/apps/client/src/app/pages/portfolio/activities/activities-page.html @@ -10,6 +10,8 @@ [hasPermissionToCreateActivity]="hasPermissionToCreateActivity" [hasPermissionToExportActivities]="!hasImpersonationId" [locale]="user?.settings?.locale" + [pageIndex]="pageIndex" + [pageSize]="pageSize" [showActions]="!hasImpersonationId && hasPermissionToDeleteActivity && !user.settings.isRestrictedView" (activityDeleted)="onDeleteActivity($event)" (activityToClone)="onCloneActivity($event)" @@ -19,6 +21,7 @@ (exportDrafts)="onExportDrafts($event)" (import)="onImport()" (importDividends)="onImportDividends()" + (pageChanged)="onChangePage($event)" > (); @Output() import = new EventEmitter(); @Output() importDividends = new EventEmitter(); + @Output() pageChanged = new EventEmitter(); @Output() selectedActivities = new EventEmitter(); @ViewChild(MatPaginator) paginator: MatPaginator; @@ -67,7 +69,6 @@ export class ActivitiesTableLazyComponent public isAfter = isAfter; public isLoading = true; public isUUID = isUUID; - public pageIndex = 0; public routeQueryParams: Subscription; public searchKeywords: string[] = []; public selectedRows = new SelectionModel(true, []); @@ -136,7 +137,7 @@ export class ActivitiesTableLazyComponent } public onChangePage(page: PageEvent) { - this.pageIndex = page.pageIndex; + this.pageChanged.emit(page); } public onClickActivity(activity: Activity) {