From 05a8fd5ec1b423905daf0f2f858801e0b9b7f260 Mon Sep 17 00:00:00 2001 From: mehmet-erim Date: Wed, 16 Sep 2020 16:18:50 +0300 Subject: [PATCH] refactor: add unsubscribe for query subscription --- .../lib/directives/ngx-datatable-list.directive.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts b/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts index 6cd2ef4031..7dc81ab6b9 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/directives/ngx-datatable-list.directive.ts @@ -18,7 +18,7 @@ import { Subscription } from 'rxjs'; }) export class NgxDatatableListDirective implements OnChanges, OnDestroy, OnInit { private subscription = new Subscription(); - private querySubscription: Subscription; + private querySubscription = new Subscription(); @Input() list: ListService; @@ -68,9 +68,11 @@ export class NgxDatatableListDirective implements OnChanges, OnDestroy, OnInit { } private subscribeToQuery() { - this.querySubscription = this.list.query$.subscribe(() => { - if (this.list.page !== this.table.offset) this.table.offset = this.list.page; - }); + this.querySubscription.add( + this.list.query$.subscribe(() => { + if (this.list.page !== this.table.offset) this.table.offset = this.list.page; + }), + ); } ngOnChanges({ list }: SimpleChanges) { @@ -80,12 +82,13 @@ export class NgxDatatableListDirective implements OnChanges, OnDestroy, OnInit { this.table.limit = maxResultCount; this.table.offset = page; - if (this.querySubscription) this.querySubscription.unsubscribe(); + this.querySubscription.unsubscribe(); this.subscribeToQuery(); } ngOnDestroy() { this.subscription.unsubscribe(); + this.querySubscription.unsubscribe(); } ngOnInit() {