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 './styles.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 { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';
import { ModuleWithProviders, NgModule } from '@angular/core';
import { NgbCollapseModule, NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
import {
NgxValidateCoreModule,
VALIDATION_ERROR_TEMPLATE,
VALIDATION_INVALID_CLASSES,
VALIDATION_TARGET_SELECTOR,
} from '@ngx-validate/core';
import { NgxValidateCoreModule } from '@ngx-validate/core';
import { AccountLayoutComponent } from './components/account-layout/account-layout.component';
import { AuthWrapperComponent } from './components/account-layout/auth-wrapper/auth-wrapper.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 { RoutesComponent } from './components/routes/routes.component';
import { ValidationErrorComponent } from './components/validation-error/validation-error.component';
import { LazyStyleHandler } from './handlers/lazy-style.handler';
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';
import { provideThemeBasicConfig } from './providers';
export const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];
@ -65,33 +57,13 @@ export class BaseThemeBasicModule {}
imports: [BaseThemeBasicModule],
})
export class ThemeBasicModule {
/**
* @deprecated forRoot method is deprecated, use `provideThemeBasicConfig` *function* for config settings.
*/
static forRoot(): ModuleWithProviders<ThemeBasicModule> {
return {
ngModule: ThemeBasicModule,
providers: [
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],
},
],
providers: [provideThemeBasicConfig()],
};
}
}

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,
},
DocumentDirHandlerService,
{
provide: APP_INITIALIZER,
useFactory: noop,
multi: true,
deps: [DocumentDirHandlerService],
},
{
provide: 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 {
/**
* @deprecated forRoot method is deprecated, use `provideThemeSharedConfig` *function* for config settings.
* @deprecated forRoot method is deprecated, use `provideAbpThemeShared` *function* for config settings.
*/
static forRoot(
{ httpErrorConfig, validation = {}, confirmationIcons = {} } = {} as RootParams,

Loading…
Cancel
Save