From a678e60f96b12aa6bb97975bb351f907ca2275fb Mon Sep 17 00:00:00 2001 From: CandidCodingCanary <56301256+CandidCodingCanary@users.noreply.github.com> Date: Thu, 10 Oct 2019 14:26:35 +0200 Subject: [PATCH] fix(datepicker): check trigger strategy is defined before destroying (#2011) --- .../theme/components/datepicker/datepicker.component.ts | 4 +++- src/framework/theme/components/datepicker/datepicker.spec.ts | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/framework/theme/components/datepicker/datepicker.component.ts b/src/framework/theme/components/datepicker/datepicker.component.ts index dd2868c58b..e6c0e33656 100644 --- a/src/framework/theme/components/datepicker/datepicker.component.ts +++ b/src/framework/theme/components/datepicker/datepicker.component.ts @@ -259,7 +259,9 @@ export abstract class NbBasePicker this.ref.dispose(); } - this.triggerStrategy.destroy(); + if (this.triggerStrategy) { + this.triggerStrategy.destroy(); + } } /** diff --git a/src/framework/theme/components/datepicker/datepicker.spec.ts b/src/framework/theme/components/datepicker/datepicker.spec.ts index c19b2e37f5..2d9ef74058 100644 --- a/src/framework/theme/components/datepicker/datepicker.spec.ts +++ b/src/framework/theme/components/datepicker/datepicker.spec.ts @@ -84,6 +84,11 @@ describe('nb-datepicker', () => { input = fixture.nativeElement.querySelector('input'); }); + it('should not throw when destroyed right after creation', () => { + const picker = TestBed.createComponent(NbDatepickerComponent).componentInstance; + expect(picker.ngOnDestroy.bind(picker)).not.toThrow(); + }); + it('should render calendar', () => { showDatepicker(); const calendar = overlay.querySelector('nb-calendar');