Browse Source

feat(theme-basic): add the nav-item.provider

pull/4404/head
mehmet-erim 6 years ago
parent
commit
cb3b7593be
  1. 1
      npm/ng-packs/packages/theme-basic/src/lib/providers/index.ts
  2. 31
      npm/ng-packs/packages/theme-basic/src/lib/providers/nav-item.provider.ts
  3. 5
      npm/ng-packs/packages/theme-basic/src/lib/theme-basic.module.ts

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

@ -1 +1,2 @@
export * from './nav-item.provider';
export * from './styles.provider';

31
npm/ng-packs/packages/theme-basic/src/lib/providers/nav-item.provider.ts

@ -0,0 +1,31 @@
import { NavItemsService } from '@abp/ng.theme.shared';
import { APP_INITIALIZER } from '@angular/core';
import { CurrentUserComponent } from '../components/nav-items/current-user.component';
import { LanguagesComponent } from '../components/nav-items/languages.component';
import { eThemeBasicComponents } from '../enums/components';
export const BASIC_THEME_NAV_ITEM_PROVIDERS = [
{
provide: APP_INITIALIZER,
useFactory: configureNavItems,
deps: [NavItemsService],
multi: true,
},
];
export function configureNavItems(navItems: NavItemsService) {
return () => {
navItems.addItems([
{
id: eThemeBasicComponents.Languages,
order: 100,
component: LanguagesComponent,
},
{
id: eThemeBasicComponents.CurrentUser,
order: 101,
component: CurrentUserComponent,
},
]);
};
}

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

@ -13,6 +13,7 @@ import { ValidationErrorComponent } from './components/validation-error/validati
import { CurrentUserComponent } from './components/nav-items/current-user.component';
import { LanguagesComponent } from './components/nav-items/languages.component';
import { BASIC_THEME_STYLES_PROVIDERS } from './providers/styles.provider';
import { BASIC_THEME_NAV_ITEM_PROVIDERS } from './providers/nav-item.provider';
export const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, EmptyLayoutComponent];
@ -62,13 +63,13 @@ export const LAYOUTS = [ApplicationLayoutComponent, AccountLayoutComponent, Empt
errorTemplate: ValidationErrorComponent,
}),
],
entryComponents: [...LAYOUTS, ValidationErrorComponent],
entryComponents: [...LAYOUTS, ValidationErrorComponent, CurrentUserComponent, LanguagesComponent],
})
export class ThemeBasicModule {
static forRoot(): ModuleWithProviders<ThemeBasicModule> {
return {
ngModule: ThemeBasicModule,
providers: [BASIC_THEME_STYLES_PROVIDERS],
providers: [BASIC_THEME_NAV_ITEM_PROVIDERS, BASIC_THEME_STYLES_PROVIDERS],
};
}
}

Loading…
Cancel
Save