From bee42045c1ecc4cf130a6557d54c917a0671b477 Mon Sep 17 00:00:00 2001 From: gentoo90 Date: Tue, 8 Oct 2019 19:38:18 +0300 Subject: [PATCH 1/3] fix(modal): add missing fields to `NgbModalConfig` This fixes compile error when a user tries to set any of this fields in a `NgbModalConfig` instance. --- src/modal/modal-config.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/modal/modal-config.ts b/src/modal/modal-config.ts index f0339a63d5..ebcb07408e 100644 --- a/src/modal/modal-config.ts +++ b/src/modal/modal-config.ts @@ -95,6 +95,15 @@ export interface NgbModalOptions { */ @Injectable({providedIn: 'root'}) export class NgbModalConfig implements NgbModalOptions { + ariaLabelledBy?: string; backdrop: boolean | 'static' = true; + beforeDismiss?: () => boolean | Promise; + centered?: boolean; + container?: string; + injector?: Injector; keyboard = true; + scrollable?: boolean; + size?: 'sm' | 'lg' | 'xl'; + windowClass?: string; + backdropClass?: string; } From f4bd47b62e0a364b7090ef012b381f8847d423cb Mon Sep 17 00:00:00 2001 From: gentoo90 Date: Wed, 9 Oct 2019 00:10:14 +0300 Subject: [PATCH 2/3] test(modal): check default value of `NgbModalConfig` --- src/modal/modal-config.spec.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/modal/modal-config.spec.ts diff --git a/src/modal/modal-config.spec.ts b/src/modal/modal-config.spec.ts new file mode 100644 index 0000000000..046f9e8a78 --- /dev/null +++ b/src/modal/modal-config.spec.ts @@ -0,0 +1,21 @@ +import {inject} from '@angular/core/testing'; + +import {NgbModalConfig} from './modal-config'; + +describe('NgbModalConfig', () => { + + it('should have sensible default values', inject([NgbModalConfig], (config: NgbModalConfig) => { + + expect(config.ariaLabelledBy).toBeUndefined(); + expect(config.backdrop).toBe(true); + expect(config.backdropClass).toBeUndefined(); + expect(config.beforeDismiss).toBeUndefined(); + expect(config.centered).toBeUndefined(); + expect(config.container).toBeUndefined(); + expect(config.injector).toBeUndefined(); + expect(config.keyboard).toBe(true); + expect(config.scrollable).toBeUndefined(); + expect(config.size).toBeUndefined(); + expect(config.windowClass).toBeUndefined(); + })); +}); From d0c1baa1d98e24f7ebb99f801e0beaeecf642059 Mon Sep 17 00:00:00 2001 From: gentoo90 Date: Thu, 17 Oct 2019 15:07:23 +0300 Subject: [PATCH 3/3] fix(modal): implement `Required` in `NgbModalConfig` --- src/modal/modal-config.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/modal/modal-config.ts b/src/modal/modal-config.ts index ebcb07408e..cde3f8ab37 100644 --- a/src/modal/modal-config.ts +++ b/src/modal/modal-config.ts @@ -94,16 +94,16 @@ export interface NgbModalOptions { * @since 3.1.0 */ @Injectable({providedIn: 'root'}) -export class NgbModalConfig implements NgbModalOptions { - ariaLabelledBy?: string; +export class NgbModalConfig implements Required { + ariaLabelledBy: string; backdrop: boolean | 'static' = true; - beforeDismiss?: () => boolean | Promise; - centered?: boolean; - container?: string; - injector?: Injector; + beforeDismiss: () => boolean | Promise; + centered: boolean; + container: string; + injector: Injector; keyboard = true; - scrollable?: boolean; - size?: 'sm' | 'lg' | 'xl'; - windowClass?: string; - backdropClass?: string; + scrollable: boolean; + size: 'sm' | 'lg' | 'xl'; + windowClass: string; + backdropClass: string; }