From 7e365d67facab036aa20030ac53c2fd004b2bc05 Mon Sep 17 00:00:00 2001 From: Erwin-N Date: Fri, 3 Apr 2026 10:54:07 +0200 Subject: [PATCH] Eliminate OnDestroy hook --- .../activities-table.component.ts | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) 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 62f5c81d0..72e4e410c 100644 --- a/libs/ui/src/lib/activities-table/activities-table.component.ts +++ b/libs/ui/src/lib/activities-table/activities-table.component.ts @@ -19,9 +19,9 @@ import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, + DestroyRef, EventEmitter, Input, - OnDestroy, OnInit, Output, ViewChild, @@ -29,6 +29,7 @@ import { inject, input } from '@angular/core'; +import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; import { MatButtonModule } from '@angular/material/button'; import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatMenuModule } from '@angular/material/menu'; @@ -63,7 +64,6 @@ import { trashOutline } from 'ionicons/icons'; import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader'; -import { Subject, takeUntil } from 'rxjs'; import { GfActivityTypeComponent } from '../activity-type/activity-type.component'; import { GfEntityLogoComponent } from '../entity-logo/entity-logo.component'; @@ -94,9 +94,7 @@ import { GfValueComponent } from '../value/value.component'; styleUrls: ['./activities-table.component.scss'], templateUrl: './activities-table.component.html' }) -export class GfActivitiesTableComponent - implements AfterViewInit, OnDestroy, OnInit -{ +export class GfActivitiesTableComponent implements AfterViewInit, OnInit { @Input() baseCurrency: string; @Input() deviceType: string; @Input() hasActivities: boolean; @@ -186,9 +184,8 @@ export class GfActivitiesTableComponent }); private readonly notificationService = inject(NotificationService); - private readonly unsubscribeSubject = new Subject(); - public constructor() { + public constructor(private destroyRef: DestroyRef) { addIcons({ alertCircleOutline, calendarClearOutline, @@ -209,7 +206,7 @@ export class GfActivitiesTableComponent if (this.showCheckbox()) { this.toggleAllRows(); this.selectedRows.changed - .pipe(takeUntil(this.unsubscribeSubject)) + .pipe(takeUntilDestroyed(this.destroyRef)) .subscribe((selectedRows) => { this.selectedActivities.emit(selectedRows.source.selected); }); @@ -342,9 +339,4 @@ export class GfActivitiesTableComponent this.selectedActivities.emit(this.selectedRows.selected); } - - public ngOnDestroy() { - this.unsubscribeSubject.next(); - this.unsubscribeSubject.complete(); - } }