ui-shared-plugin.module.ts 997 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import { APP_INITIALIZER, NgModule } from '@angular/core';
  2. import { NavBuilderService, SharedModule } from '@vendure/admin-ui/src';
  3. import { interval } from 'rxjs';
  4. import { map } from 'rxjs/operators';
  5. @NgModule({
  6. imports: [SharedModule],
  7. providers: [
  8. {
  9. provide: APP_INITIALIZER,
  10. multi: true,
  11. useFactory: addNavItems,
  12. deps: [NavBuilderService],
  13. },
  14. ],
  15. })
  16. export class TestSharedModule {}
  17. export function addNavItems(navBuilder: NavBuilderService) {
  18. return () => {
  19. navBuilder.addNavMenuSection(
  20. {
  21. id: 'test-plugin',
  22. label: 'Test Plugin',
  23. items: [
  24. {
  25. id: 'stats',
  26. label: 'Test',
  27. routerLink: ['/extensions/test'],
  28. icon: 'line-chart',
  29. },
  30. ],
  31. },
  32. 'settings',
  33. );
  34. };
  35. }