Browse Source

feat(theme-shared): create nav item utility functions

pull/4168/head
mehmet-erim 6 years ago
parent
commit
dd6debf28f
  1. 3
      npm/ng-packs/packages/theme-shared/src/lib/utils/index.ts
  2. 22
      npm/ng-packs/packages/theme-shared/src/lib/utils/nav-items.ts

3
npm/ng-packs/packages/theme-shared/src/lib/utils/index.ts

@ -1,3 +1,4 @@
export * from './widget-utils';
export * from './date-parser-formatter';
export * from './nav-items';
export * from './validation-utils';
export * from './widget-utils';

22
npm/ng-packs/packages/theme-shared/src/lib/utils/nav-items.ts

@ -0,0 +1,22 @@
import { Type } from '@angular/core';
import { ReplaySubject } from 'rxjs';
export interface NavItem {
component?: Type<any>;
html?: string;
action?: () => void;
order?: number;
permission?: string;
}
const navItems: NavItem[] = [];
const navItems$ = new ReplaySubject<NavItem[]>(1);
export function addNavItem(item: NavItem) {
navItems.push(item);
navItems$.next(navItems.sort((a, b) => (a.order ? a.order - b.order : 1)));
}
export function getNavItems() {
return navItems$;
}
Loading…
Cancel
Save