diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b8b498fd..9cc6ccdde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Added + +- Added paging of activities to import acitivities dialog + ### Changed - Refreshed the cryptocurrencies list diff --git a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts index b1794cb4a..0e574d1b6 100644 --- a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts +++ b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.component.ts @@ -36,6 +36,7 @@ import { } from '@angular/material/dialog'; import { MatExpansionModule } from '@angular/material/expansion'; import { MatFormFieldModule } from '@angular/material/form-field'; +import { PageEvent } from '@angular/material/paginator'; import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; import { MatSelectModule } from '@angular/material/select'; import { MatSnackBar } from '@angular/material/snack-bar'; @@ -90,8 +91,9 @@ export class GfImportActivitiesDialog implements OnDestroy { public holdings: PortfolioPosition[] = []; public importStep: ImportStep = ImportStep.UPLOAD_FILE; public isLoading = false; - public maxSafeInteger = Number.MAX_SAFE_INTEGER; public mode: 'DIVIDEND'; + public pageIndex = 0; + public pageSize = 10; public selectedActivities: Activity[] = []; public sortColumn = 'date'; public sortDirection: SortDirection = 'desc'; @@ -236,6 +238,7 @@ export class GfImportActivitiesDialog implements OnDestroy { .subscribe(({ activities }) => { this.activities = activities; this.dataSource = new MatTableDataSource(activities.reverse()); + this.pageIndex = 0; this.totalItems = activities.length; aStepper.next(); @@ -244,10 +247,15 @@ export class GfImportActivitiesDialog implements OnDestroy { }); } + public onPageChanged({ pageIndex }: PageEvent) { + this.pageIndex = pageIndex; + } + public onReset(aStepper: MatStepper) { this.details = []; this.errorMessages = []; this.importStep = ImportStep.SELECT_ACTIVITIES; + this.pageIndex = 0; this.assetProfileForm.get('assetProfileIdentifier').enable(); aStepper.reset(); @@ -338,6 +346,7 @@ export class GfImportActivitiesDialog implements OnDestroy { }); this.activities = activities; this.dataSource = new MatTableDataSource(activities.reverse()); + this.pageIndex = 0; this.totalItems = activities.length; } catch (error) { console.error(error); @@ -356,6 +365,7 @@ export class GfImportActivitiesDialog implements OnDestroy { }); this.activities = data.activities; this.dataSource = new MatTableDataSource(data.activities.reverse()); + this.pageIndex = 0; this.totalItems = data.activities.length; } catch (error) { console.error(error); diff --git a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html index 6b048e6c0..819293800 100644 --- a/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html +++ b/apps/client/src/app/pages/portfolio/activities/import-activities-dialog/import-activities-dialog.html @@ -127,7 +127,8 @@ [hasPermissionToFilter]="false" [hasPermissionToOpenDetails]="false" [locale]="data?.user?.settings?.locale" - [pageSize]="maxSafeInteger" + [pageIndex]="pageIndex" + [pageSize]="pageSize" [showActions]="false" [showCheckbox]="true" [showSymbolColumn]="false" @@ -135,6 +136,7 @@ [sortDirection]="sortDirection" [sortDisabled]="true" [totalItems]="totalItems" + (pageChanged)="onPageChanged($event)" (selectedActivities)="updateSelection($event)" /> } diff --git a/libs/ui/src/lib/activities-table/activities-table.component.ts b/libs/ui/src/lib/activities-table/activities-table.component.ts index b38af615e..3c6dd8072 100644 --- a/libs/ui/src/lib/activities-table/activities-table.component.ts +++ b/libs/ui/src/lib/activities-table/activities-table.component.ts @@ -168,6 +168,8 @@ export class GfActivitiesTableComponent } public ngAfterViewInit() { + this.dataSource.paginator = this.paginator; + this.sort.sortChange.subscribe((value: Sort) => { this.sortChanged.emit(value); });