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');