|
|
|
@ -2,7 +2,13 @@ import { CoreModule, noop } from '@abp/ng.core'; |
|
|
|
import { DatePipe } from '@angular/common'; |
|
|
|
import { APP_INITIALIZER, Injector, ModuleWithProviders, NgModule } from '@angular/core'; |
|
|
|
import { NgbDateParserFormatter, NgbPaginationModule } from '@ng-bootstrap/ng-bootstrap'; |
|
|
|
import { NgxValidateCoreModule } from '@ngx-validate/core'; |
|
|
|
import { |
|
|
|
defaultMapErrorsFn, |
|
|
|
NgxValidateCoreModule, |
|
|
|
VALIDATION_BLUEPRINTS, |
|
|
|
VALIDATION_MAP_ERRORS_FN, |
|
|
|
VALIDATION_VALIDATE_ON_SUBMIT, |
|
|
|
} from '@ngx-validate/core'; |
|
|
|
import { NgxDatatableModule } from '@swimlane/ngx-datatable'; |
|
|
|
import { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component'; |
|
|
|
import { ButtonComponent } from './components/button/button.component'; |
|
|
|
@ -18,6 +24,7 @@ import { TableEmptyMessageComponent } from './components/table-empty-message/tab |
|
|
|
import { TableComponent } from './components/table/table.component'; |
|
|
|
import { ToastContainerComponent } from './components/toast-container/toast-container.component'; |
|
|
|
import { ToastComponent } from './components/toast/toast.component'; |
|
|
|
import { DEFAULT_VALIDATION_BLUEPRINTS } from './constants/validation'; |
|
|
|
import { LoadingDirective } from './directives/loading.directive'; |
|
|
|
import { NgxDatatableDefaultDirective } from './directives/ngx-datatable-default.directive'; |
|
|
|
import { NgxDatatableListDirective } from './directives/ngx-datatable-list.directive'; |
|
|
|
@ -69,7 +76,9 @@ export class BaseThemeSharedModule {} |
|
|
|
exports: [BaseThemeSharedModule], |
|
|
|
}) |
|
|
|
export class ThemeSharedModule { |
|
|
|
static forRoot(options = {} as RootParams): ModuleWithProviders<ThemeSharedModule> { |
|
|
|
static forRoot( |
|
|
|
{ httpErrorConfig, validation = {} } = {} as RootParams, |
|
|
|
): ModuleWithProviders<ThemeSharedModule> { |
|
|
|
return { |
|
|
|
ngModule: ThemeSharedModule, |
|
|
|
providers: [ |
|
|
|
@ -92,13 +101,28 @@ export class ThemeSharedModule { |
|
|
|
deps: [Injector], |
|
|
|
useFactory: initLazyStyleHandler, |
|
|
|
}, |
|
|
|
{ provide: HTTP_ERROR_CONFIG, useValue: options.httpErrorConfig }, |
|
|
|
{ provide: HTTP_ERROR_CONFIG, useValue: httpErrorConfig }, |
|
|
|
{ |
|
|
|
provide: 'HTTP_ERROR_CONFIG', |
|
|
|
useFactory: httpErrorConfigFactory, |
|
|
|
deps: [HTTP_ERROR_CONFIG], |
|
|
|
}, |
|
|
|
{ provide: NgbDateParserFormatter, useClass: DateParserFormatter }, |
|
|
|
{ |
|
|
|
provide: VALIDATION_BLUEPRINTS, |
|
|
|
useValue: { |
|
|
|
...DEFAULT_VALIDATION_BLUEPRINTS, |
|
|
|
...(validation.blueprints || {}), |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
provide: VALIDATION_MAP_ERRORS_FN, |
|
|
|
useValue: validation.mapErrorsFn || defaultMapErrorsFn, |
|
|
|
}, |
|
|
|
{ |
|
|
|
provide: VALIDATION_VALIDATE_ON_SUBMIT, |
|
|
|
useValue: validation.validateOnSubmit, |
|
|
|
}, |
|
|
|
], |
|
|
|
}; |
|
|
|
} |
|
|
|
|