From f83d4ec0742f324dc8e3e4a08fed08efc5eb781e Mon Sep 17 00:00:00 2001 From: bnymncoskuner Date: Mon, 10 May 2021 13:26:49 +0300 Subject: [PATCH] fix: set container to body of ngbDatepicker --- .../src/lib/handlers/datepicker-config.ts | 11 +++++++++++ .../packages/theme-shared/src/lib/handlers/index.ts | 1 + .../theme-shared/src/lib/theme-shared.module.ts | 7 +++++++ npm/ng-packs/packages/theme-shared/src/public-api.ts | 2 +- 4 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 npm/ng-packs/packages/theme-shared/src/lib/handlers/datepicker-config.ts diff --git a/npm/ng-packs/packages/theme-shared/src/lib/handlers/datepicker-config.ts b/npm/ng-packs/packages/theme-shared/src/lib/handlers/datepicker-config.ts new file mode 100644 index 0000000000..6fc30c8577 --- /dev/null +++ b/npm/ng-packs/packages/theme-shared/src/lib/handlers/datepicker-config.ts @@ -0,0 +1,11 @@ +import { Injector } from '@angular/core'; +import { NgbInputDatepickerConfig } from '@ng-bootstrap/ng-bootstrap'; + +export function initDatepickerConfig(injector: Injector) { + const datepickerConfig = injector.get(NgbInputDatepickerConfig, null); + if (datepickerConfig) { + datepickerConfig.container = 'body'; + } + + return () => {}; +} diff --git a/npm/ng-packs/packages/theme-shared/src/lib/handlers/index.ts b/npm/ng-packs/packages/theme-shared/src/lib/handlers/index.ts index 11eb07398e..a9253984b5 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/handlers/index.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/handlers/index.ts @@ -1,2 +1,3 @@ export * from './error.handler'; export * from './lazy-style.handler'; +export * from './datepicker-config'; diff --git a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts index ddf1d6a5a3..72b99aa7e4 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts @@ -38,6 +38,7 @@ import { THEME_SHARED_APPEND_CONTENT } from './tokens/append-content.token'; import { HTTP_ERROR_CONFIG, httpErrorConfigFactory } from './tokens/http-error.token'; import { DateParserFormatter } from './utils/date-parser-formatter'; import { ModalCloseDirective } from './components/modal/modal-close.directive'; +import { initDatepickerConfig } from './handlers/datepicker-config'; const declarationsWithExports = [ BreadcrumbComponent, @@ -110,6 +111,12 @@ export class ThemeSharedModule { deps: [Injector], useFactory: initLazyStyleHandler, }, + { + provide: APP_INITIALIZER, + multi: true, + deps: [Injector], + useFactory: initDatepickerConfig, + }, { provide: HTTP_ERROR_CONFIG, useValue: httpErrorConfig }, { provide: 'HTTP_ERROR_CONFIG', diff --git a/npm/ng-packs/packages/theme-shared/src/public-api.ts b/npm/ng-packs/packages/theme-shared/src/public-api.ts index 5a4f9efe95..845655402d 100644 --- a/npm/ng-packs/packages/theme-shared/src/public-api.ts +++ b/npm/ng-packs/packages/theme-shared/src/public-api.ts @@ -8,7 +8,7 @@ export { BOOTSTRAP } from './lib/constants/styles'; export * from './lib/constants/validation'; export * from './lib/directives'; export * from './lib/enums'; -export { ErrorHandler } from './lib/handlers'; +export * from './lib/handlers'; export * from './lib/models'; export * from './lib/providers'; export * from './lib/services';