Skip to content

Commit 56bb4e0

Browse files
Tt 286 handle error message client width (#704)
* fix: TT-283 added try catch to handle method rerenderDataTable * fix: TT-283 removal code smell * fix: TT-286 fixed error by adding an unsubscription routine Co-authored-by: Kevin Lopez <[email protected]>
1 parent e8b069e commit 56bb4e0

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

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

Lines changed: 7 additions & 5 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,17 +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-
dtInstance.destroy();
86-
this.dtTrigger.next();
87+
dtInstance.destroy();
88+
this.dtTrigger.next();
8789
});
8890
} else {
89-
this.dtTrigger.next();
91+
this.dtTrigger.next();
9092
}
9193
}
9294

0 commit comments

Comments
 (0)