Skip to content

Commit 719f14b

Browse files
committed
fix: TT-286 fixed error by adding an unsubscription routine
1 parent fe687d2 commit 719f14b

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

src/app/modules/reports/components/time-entries-table/time-entries-table.component.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { AfterViewInit, Component, OnDestroy, OnInit, ViewChild} from '@angular/
33
import { select, Store } from '@ngrx/store';
44
import { DataTableDirective } from 'angular-datatables';
55
import * as moment from 'moment';
6-
import { Observable, Subject } from 'rxjs';
6+
import { Observable, Subject, Subscription } from 'rxjs';
77
import { Entry } from 'src/app/modules/shared/models';
88
import { DataSource } from 'src/app/modules/shared/models/data-source.model';
99
import { EntryState } from '../../../time-clock/store/entry.reducer';
@@ -60,13 +60,14 @@ export class TimeEntriesTableComponent implements OnInit, OnDestroy, AfterViewIn
6060
dtElement: DataTableDirective;
6161
isLoading$: Observable<boolean>;
6262
reportDataSource$: Observable<DataSource<Entry>>;
63+
rerenderTableSubscription: Subscription;
6364

6465
constructor(private store: Store<EntryState>) {
6566
this.reportDataSource$ = this.store.pipe(select(getReportDataSource));
6667
}
6768

6869
ngOnInit(): void {
69-
this.reportDataSource$.subscribe((ds) => {
70+
this.rerenderTableSubscription = this.reportDataSource$.subscribe((ds) => {
7071
this.rerenderDataTable();
7172
});
7273
}
@@ -76,21 +77,18 @@ export class TimeEntriesTableComponent implements OnInit, OnDestroy, AfterViewIn
7677
}
7778

7879
ngOnDestroy(): void {
80+
this.rerenderTableSubscription.unsubscribe();
7981
this.dtTrigger.unsubscribe();
8082
}
8183

8284
private rerenderDataTable(): void {
8385
if (this.dtElement && this.dtElement.dtInstance) {
8486
this.dtElement.dtInstance.then((dtInstance: DataTables.Api) => {
85-
try {
8687
dtInstance.destroy();
8788
this.dtTrigger.next();
88-
} catch (error) {}
8989
});
9090
} else {
91-
try {
9291
this.dtTrigger.next();
93-
} catch (error) {}
9492
}
9593
}
9694

0 commit comments

Comments
 (0)