Browse Source

add provider function for theme basic config

template-config-provider
Sinan997 2 years ago
parent
commit
eeb44dba5b
  1. 1
      npm/ng-packs/packages/theme-basic/src/lib/providers/index.ts
  2. 39
      npm/ng-packs/packages/theme-basic/src/lib/providers/theme-basic-config.provider.ts
  3. 44
      npm/ng-packs/packages/theme-basic/src/lib/theme-basic.module.ts
  4. 6
      npm/ng-packs/packages/theme-shared/src/lib/providers/theme-shared-config.provider.ts
  5. 2
      npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts

1
npm/ng-packs/packages/theme-basic/src/lib/providers/index.ts

@ -1,3 +1,4 @@
export * from './nav-item.provider'; export * from './nav-item.provider';
export * from './styles.provider'; export * from './styles.provider';
export * from './user-menu.provider'; export * from './user-menu.provider';
export * from './theme-basic-config.provider';

39
npm/ng-packs/packages/theme-basic/src/lib/providers/theme-basic-config.provider.ts

@ -0,0 +1,39 @@
import { APP_INITIALIZER, makeEnvironmentProviders } from '@angular/core';
import { noop } from '@abp/ng.core';
import {
VALIDATION_ERROR_TEMPLATE,
VALIDATION_TARGET_SELECTOR,
VALIDATION_INVALID_CLASSES,
} from '@ngx-validate/core';
import { LazyStyleHandler } from '../handlers';
import { BASIC_THEME_NAV_ITEM_PROVIDERS } from './nav-item.provider';
import { BASIC_THEME_STYLES_PROVIDERS } from './styles.provider';
import { BASIC_THEME_USER_MENU_PROVIDERS } from './user-menu.provider';
import { ValidationErrorComponent } from '../components';
export function provideThemeBasicConfig() {
return makeEnvironmentProviders([
BASIC_THEME_NAV_ITEM_PROVIDERS,
BASIC_THEME_USER_MENU_PROVIDERS,
BASIC_THEME_STYLES_PROVIDERS,
{
provide: VALIDATION_ERROR_TEMPLATE,
useValue: ValidationErrorComponent,
},
{
provide: VALIDATION_TARGET_SELECTOR,
useValue: '.form-group',
},
{
provide: VALIDATION_INVALID_CLASSES,
useValue: 'is-invalid',
},
LazyStyleHandler,
{
provide: APP_INITIALIZER,
useFactory: noop,
multi: true,
deps: [LazyStyleHandler],
},
]);
}

44
npm/ng-packs/packages/theme-basic/src/lib/theme-basic.module.ts

@ -1,13 +1,8 @@
import { CoreModule, noop } from '@abp/ng.core'; import { CoreModule } from '@abp/ng.core';
import { ThemeSharedModule } from '@abp/ng.theme.shared'; import { ThemeSharedModule } from '@abp/ng.theme.shared';
import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core'; import { ModuleWithProviders, NgModule } from '@angular/core';
import { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap'; import { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
import { import { NgxValidateCoreModule } from '@ngx-validate/core';
NgxValidateCoreModule,
VALIDATION_ERROR_TEMPLATE,
VALIDATION_INVALID_CLASSES,
VALIDATION_TARGET_SELECTOR,
} from '@ngx-validate/core';
import { AccountLayoutComponent } from './components/account-layout/account-layout.component'; import { AccountLayoutComponent } from './components/account-layout/account-layout.component';
import { AuthWrapperComponent } from './components/account-layout/auth-wrapper/auth-wrapper.component'; import { AuthWrapperComponent } from './components/account-layout/auth-wrapper/auth-wrapper.component';
import { TenantBoxComponent } from './components/account-layout/tenant-box/tenant-box.component'; import { TenantBoxComponent } from './components/account-layout/tenant-box/tenant-box.component';
@ -20,10 +15,7 @@ import { NavItemsComponent } from './components/nav-items/nav-items.component';
import { PageAlertContainerComponent } from './components/page-alert-container/page-alert-container.component'; import { PageAlertContainerComponent } from './components/page-alert-container/page-alert-container.component';
import { RoutesComponent } from './components/routes/routes.component'; import { RoutesComponent } from './components/routes/routes.component';
import { ValidationErrorComponent } from './components/validation-error/validation-error.component'; import { ValidationErrorComponent } from './components/validation-error/validation-error.component';
import { LazyStyleHandler } from './handlers/lazy-style.handler'; import { provideThemeBasicConfig } from './providers';
import { BASIC_THEME_NAV_ITEM_PROVIDERS } from './providers/nav-item.provider';
import { BASIC_THEME_STYLES_PROVIDERS } from './providers/styles.provider';
import { BASIC_THEME_USER_MENU_PROVIDERS } from './providers/user-menu.provider';
export const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent]; export const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];
@ -65,33 +57,13 @@ export class BaseThemeBasicModule {}
imports: [BaseThemeBasicModule], imports: [BaseThemeBasicModule],
}) })
export class ThemeBasicModule { export class ThemeBasicModule {
/**
* @deprecated forRoot method is deprecated, use `provideThemeBasicConfig` *function* for config settings.
*/
static forRoot(): ModuleWithProviders<ThemeBasicModule> { static forRoot(): ModuleWithProviders<ThemeBasicModule> {
return { return {
ngModule: ThemeBasicModule, ngModule: ThemeBasicModule,
providers: [ providers: [provideThemeBasicConfig()],
BASIC_THEME_NAV_ITEM_PROVIDERS,
BASIC_THEME_USER_MENU_PROVIDERS,
BASIC_THEME_STYLES_PROVIDERS,
{
provide: VALIDATION_ERROR_TEMPLATE,
useValue: ValidationErrorComponent,
},
{
provide: VALIDATION_TARGET_SELECTOR,
useValue: '.form-group',
},
{
provide: VALIDATION_INVALID_CLASSES,
useValue: 'is-invalid',
},
LazyStyleHandler,
{
provide: APP_INITIALIZER,
useFactory: noop,
multi: true,
deps: [LazyStyleHandler],
},
],
}; };
} }
} }

6
npm/ng-packs/packages/theme-shared/src/lib/providers/theme-shared-config.provider.ts

@ -139,6 +139,12 @@ export function provideAbpThemeShared(...features: ThemeSharedFeature<ThemeShare
useValue: undefined, useValue: undefined,
}, },
DocumentDirHandlerService, DocumentDirHandlerService,
{
provide: APP_INITIALIZER,
useFactory: noop,
multi: true,
deps: [DocumentDirHandlerService],
},
{ {
provide: CONFIRMATION_ICONS, provide: CONFIRMATION_ICONS,
useValue: { ...DEFAULT_CONFIRMATION_ICONS }, useValue: { ...DEFAULT_CONFIRMATION_ICONS },

2
npm/ng-packs/packages/theme-shared/src/lib/theme-shared.module.ts

@ -86,7 +86,7 @@ export class BaseThemeSharedModule {}
}) })
export class ThemeSharedModule { export class ThemeSharedModule {
/** /**
* @deprecated forRoot method is deprecated, use `provideThemeSharedConfig` *function* for config settings. * @deprecated forRoot method is deprecated, use `provideAbpThemeShared` *function* for config settings.
*/ */
static forRoot( static forRoot(
{ httpErrorConfig, validation = {}, confirmationIcons = {} } = {} as RootParams, { httpErrorConfig, validation = {}, confirmationIcons = {} } = {} as RootParams,

Loading…
Cancel
Save